Documentation Home

20.3.3.2 使用集合

要使用架构中的集合,请使用 db全局对象访问当前架构。在此示例中,我们使用 world_x之前导入的模式和 countryinfo集合。因此,您发出的操作的格式是 ,其中是对其执行操作的集合的名称。在以下示例中,操作是针对 集合执行的。 db.collection_name.operationcollection_namecountryinfo

添加文档

使用该add()方法将一个文档或文档列表插入到现有集合中。将以下文档插入countryinfo 集合中。由于这是多行内容,请按 两次Enter插入文档。

mysql-js> 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-js> 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. 该 _id字段的值在同一集合中的所有文档中必须是唯一的。在 MySQL 8.0.11 及更高版本中,文档 ID 由服务器而非客户端生成,因此 MySQL Shell 不会自动设置 _id值。_id如果文档不包含该_id字段,则8.0.11 或更高版本的 MySQL 服务器会设置一个值。较早 8.0 版本或 5.7 版本的 MySQL 服务器不会设置 _id在这种情况下的值,因此您必须明确指定它。如果不这样做,MySQL Shell 将返回错误 5115 Document is missing a required field。有关详细信息,请参阅 了解文档 ID

相关信息