MySQL 8.3 Release Notes
要在模式中使用集合,请使用 db
全局对象访问当前模式。在这个示例中,我们使用了之前导入的 world_x
模式和 countryinfo
集合。因此,操作的格式为 db.
,其中 collection_name
.operationcollection_name
是操作执行的集合的名称。在以下示例中,操作是针对 countryinfo
集合执行的。
使用 add()
方法将一个文档或文档列表插入到现有的集合中。将以下文档插入到 countryinfo
集合中。由于这是多行内容,请按两次 Enter 键以插入文档。
mysql-py> db.countryinfo.add(
{
"GNP": .6,
"IndepYear": 1967,
"Name": "Sealand",
"Code:": "SEA",
"demographics": {
"LifeExpectancy": 79,
"Population": 27
},
"geography": {
"Continent": "Europe",
"Region": "British Islands",
"SurfaceArea": 193
},
"government": {
"GovernmentForm": "Monarchy",
"HeadOfState": "Michael Bates"
}
}
)
该方法返回操作的状态。您可以通过搜索文档来验证操作。例如:
mysql-py> db.countryinfo.find("Name = 'Sealand'")
{
"GNP": 0.6,
"_id": "00005e2ff4af00000000000000f4",
"Name": "Sealand",
"Code:": "SEA",
"IndepYear": 1967,
"geography": {
"Region": "British Islands",
"Continent": "Europe",
"SurfaceArea": 193
},
"government": {
"HeadOfState": "Michael Bates",
"GovernmentForm": "Monarchy"
},
"demographics": {
"Population": 27,
"LifeExpectancy": 79
}
}
请注意,除了添加文档时指定的字段外,还有一个额外的字段,即 _id
。每个文档都需要一个唯一的标识符字段 _id
。在 MySQL 8.0.11 及更高版本中,文档 ID 由服务器生成,而不是客户端,因此 MySQL Shell 不会自动设置 _id
值。MySQL 服务器在 8.0.11 或更高版本中,如果文档不包含 _id
字段,将设置 _id
值。MySQL 服务器在 8.0 早期版本或 5.7 中,不会在这种情况下设置 _id
值,因此您必须明确指定。如果您不这样做,MySQL Shell 将返回错误 5115 文档缺少必需字段。有关更多信息,请参阅 理解文档 ID。
-
请参阅 CollectionAddFunction 以获取完整的语法定义。
-
请参阅 理解文档 ID。