1、集合
1.1、创建集合
MongoDB 中使用 createCollection() 方法来创建集合。
语法格式:
db.createCollection(name, options)
参数说明:
- name: 要创建的集合名称
- options: 可选参数, 指定有关内存大小及索引的选项
options参数:
字段 | 类型 | 描述 |
---|---|---|
capped | Bool | (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。 |
autoIndexId | Bool | (可选)如为 true,自动在 _id 字段创建索引。默认为 false。 |
size | Number | (可选)为固定集合指定一个最大值,以千字节计(KB)。如果 capped 为 true,也需要指定该字段。 |
max | Number | (可选)指定固定集合中包含文档的最大数量。 |
命令示例:
> use location switched to db location > db location > db.createCollection("city",{capped:true,autoIndexId:true,size:6142800,max:10}) { "note" : "the autoIndexId option is deprecated and will be removed in a future release", "ok" : 1 }
1.2、固定大小集合
当在创建索引时,若capped为true,size则为固定集合的最大字节数,max为固定集合的最大文档数。固定集合创建后,就不能改变了,如果要改变固定集合的属性,只能将它删除之后再重建。因此在创建固定集合之前应该仔细想清楚它的大小。固定集合同时指定了文档数量和集合大小的限制,不管先达到那个限制,之后插入的新文档就会把最老的文档挤出集合,即固定集合的文档数量不能超过文档数量限制,固定集合的大小也不能超过集合大小的限制。
固定集合的访问模式与其他集合不同,数据被顺序写入磁盘的固定空间。故他们在蝶式磁盘上写入速度非常快,尤其是集合拥有专用磁盘时。固定集合可用于记录日志,尽管他们不够灵活。虽然可以在创建时指定集合大小,但无法控制什么时候数据会被覆盖。
创建固定集合示例:创建大小限制为500G,文档数量限制为1000000000的文档。
> db.createCollection("city",{capped:true,size:524288000,max:1000000000})
2、索引
2.1、创建索引
创建索引的语法如下: