createCollection()方法
MongoDB db.createCollection(name,options)用于创建集合。
语法
db.createCollection(name, options)
在命令中,name是要创建的集合的名称。options是一个文档,用于指定集合的配置。
- name - [Stirng] - 要创建的集合的名称
- options - [Document] (可选)指定有关内存大小和索引的选项
Options参数是可选的,因此您只需指定集合的名称。以下是您可以使用的选项列表-
- capped - [ Boolean] (可选)如果为true,则启用上限集合。 上限集合是一个固定大小的集合,当其达到最大大小时会自动覆盖其最早的条目。 如果指定true,则还需要指定size参数。
- autoIndexId - [Boolean] (可选)如果为true,则在_id字段上自动创建索引。s默认值为false。
- size - [ number] (可选)指定上限集合的最大大小(以字节为单位)。 如果capped为true,则还需要指定此字段。
- max - [number] (可选)指定上限集合中允许的最大文档数。
更为详细的参数列表说明请参考:https://docs.mongodb.com/manual/reference/method/db.createCollection/index.html
插入文档时,MongoDB首先检查上限集合的size字段,然后检查max字段。
示例
不带options的createCollection()方法的基本语法如下-
>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
>
您可以使用命令show collections检查创建的集合。
> show collections
mycollection
以下示例显示了createCollection()方法的语法,其中包含几个重要选项-
> db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
{
"ok" : 0,
"errmsg" : "BSON field 'create.autoIndexID' is an unknown field.",
"code" : 40415,
"codeName" : "Location40415"
}
在MongoDB中,您无需创建集合。当您插入某些文档时,MongoDB会自动创建集合。
> db.jc2182.insert({"name" : "jc2182"})
WriteResult({ "nInserted" : 1 })
> show collections
jc2182
mycollection