进入MongoDB中文手册(4.2版本)目录
MongoDB将BSON(Binary JSON)文档,即数据记录,存储在集合中;集合存储在数据库中。
1 数据库
在MongoDB中,数据库保存文档集合。
选择要使用的数据库,请在mongo shell中写语句use <数据库名>
,如以下示例所示:
use myDB
1.1 创建数据库
如果数据库不存在,则在您第一次为该数据库存储数据时,MongoDB会创建该数据库。这样,您可以切换到一个不存在的数据库并在mongo shell中执行以下操作 :
use myNewDB
db.myNewCollection1.insertOne( { x: 1 } )
如果数据库myNewDB和集合myNewCollection1不存在,insertOne()操作将同时创建数据库myNewDB和集合myNewCollection1。请确保数据库名称和集合名称均遵循MongoDB 命名限制。
2 集合
MongoDB将文档存储在集合中。集合类似于关系数据库中的表。
2.1 创建集合
如果集合不存在,则在您第一次为该集合存储数据时,MongoDB会创建该集合。
db.myNewCollection2.insertOne( { x: 1 } )
db.myNewCollection3.createIndex( { y: 1 } )
如果集合还不存在,insertOne()和 createIndex()操作则会创建它们各自的集合。确保集合名称遵循MongoDB 命名限制。
2.2 显示创建
MongoDB提供了db.createCollection()使用各种选项显式创建集合的方法,例如设置最大大小或文档验证规则。如果未指定这些选项,则无需显式创建集合,因为在首次存储集合的数据时,MongoDB会创建新的集合。
要修改这些收集选项,请参见collMod。
2.3 文档验证
3.2版中的新功能。
默认情况下,集合不要求其文档具有相同的结构。也就是说,单个集合中的文档不需要具有相同的字段集,并且字段的数据类型可以在集合中的不同文档之间有所不同。
但是,从MongoDB 3.2开始,您可以在更新和插入操作期间对集合强制执行文档验证规则。有关详细信息,请参见结构验证详情。
2.4 修改文档结构
要更改集合中文档的结构,例如添加新字段,删除现有字段或将字段值更改为新类型,请将文档更新为新结构。
2.5 唯一标识符
3.6版的新功能。
注意:featureCompatibilityVersion必须设置为"3.6"或更大。有关更多信息,请参见查看FeatureCompatibilityVersion。
集合会被分配一个不变的UUID。副本集的所有成员和分片群集中所有分片的集合的UUID均相同。
要获取集合的UUID,请运行 listCollections命令或db.getCollectionInfos()方法。