数据库和 collections

在本页面

MongoDB 将BSON documents(即数据记录)存储在collections中;数据库中的集合。

MongoDB 文档的集合。

Databases

在 MongoDB 中,数据库保存文档集合。

要选择要使用的数据库,请在mongo shell 中发出use <db>语句,如以下示例所示:

use myDB

创建数据库

如果数据库不存在,则当您第一次为该数据库存储数据时,MongoDB 会创建该数据库。这样,您可以切换到不存在的数据库并在mongo shell 中执行以下操作:

use myNewDB

db.myNewCollection1.insertOne( { x: 1 } )

insertOne()操作将同时创建数据库myNewDB和集合myNewCollection1。确保数据库名称和集合名称都遵循 MongoDB Naming Restrictions

Collections

MongoDB 将文档存储在集合中。集合类似于关系数据库中的表。

创建收藏集

如果不存在集合,则在您第一次为该集合存储数据时,MongoDB 会创建该集合。

db.myNewCollection2.insertOne( { x: 1 } )
db.myNewCollection3.createIndex( { y: 1 } )

如果insertOne()createIndex()操作尚不存在,则会创建它们各自的集合。确保集合名称遵循 MongoDB Naming Restrictions

Explicit Creation

MongoDB 提供db.createCollection()方法来显式创建具有各种选项的集合,例如设置最大大小或文档验证规则。如果未指定这些选项,则无需显式创建集合,因为在首次存储集合的数据时,MongoDB 会创建新的集合。

要修改这些收集选项,请参见collMod

Document Validation

3.2 版中的新功能。

默认情况下,集合不要求其文档具有相同的架构。即,单个集合中的文档不需要具有相同的字段集,并且字段的数据类型可以在集合中的不同文档之间有所不同。

但是,从 MongoDB 3.2 开始,您可以在更新和插入操作期间对集合强制执行文件验证规则。有关详情,请参见Schema Validation

修改文档结构

要更改集合中文档的结构,例如添加新字段,删除现有字段或将字段值更改为新类型,请将文档更新为新结构。

Unique Identifiers

3.6 版的新功能。

Note

featureCompatibilityVersion必须设置为"3.6"。有关更多信息,请参见View FeatureCompatibilityVersion

集合被分配了一个不变的 UUID。副本集的所有成员和分片群集中的分片的集合 UUID 均相同。

要检索集合的 UUID,请运行listCollections命令或db.getCollectionInfos()方法。