MongoDB 创建集合
语法:
基本的 createCollection() 命令语法如下:
db.createCollection(name, options)
在命令中, name 是要创建的集合的名称. Options 是一个文档,用于指定配置的集合
参数 | 类型 | 描述 |
---|---|---|
Name | String | 要创建的集合名称 |
Options | Document | (可选)指定有关内存大小和索引选项 |
选项参数是可选的,所以只需要到指定的集合名称。以下是可以使用的选项列表:
字段 | 类型 | 描述 |
---|---|---|
capped | Boolean | (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,当它达到其最大大小,会自动覆盖最早的条目。如果指定true,则需要也指定size字段。 |
autoIndexID | Boolean | (可选)如果为true,自动创建索引_id字段, 默认值是false。 |
size | number | (可选)指定集合最大可使用字节。如果封顶如果是 true,那么你还需要指定这个字段。 |
max | number | (可选)指定封顶集合允许在文件的最大数量。Size限制优先于此限制。如果一个封顶集合达到大小size限制,未达到文件的最大数量,MongoDB删除旧的文件。如果您更喜欢使用max,确保为上限的集合所需的大小限制,足以包含文档的最大数量。 |
当插入文档,MongoDB 第一检查大小字段封顶集合,然后它会检查最大的字段。
例子:
createCollection() 方法不使用选项的基本语法如下:
>use example
switched to db example
>db.createCollection("mycollection")
{ "ok" : 1 }
>
可以检查通过使用创建的集合命令 show collections
>show collections
mycollection
>db.createCollection("log", { capped : true, size : 5242880, max : 5000 } )
{ "ok" : 1 }
>
This command creates a collection named log with a maximum size of 5 megabytes and a maximum of 5000 documents.
在MongoDB中,可以不需要创建集合。当插入一些文档自动创建的集合。
>db.itcast.insert({"name" : "itcast"})
>show collections
mycol
mycollection
itcast
>
创建 MongoDB Schema 和 SQL Schema区别
SQL Schema Statements | MongoDB Schema Statements |
---|---|
CREATE TABLE users (
id MEDIUMINT NOT NULL
AUTO_INCREMENT,
user_id Varchar(30),
age Number,
status char(1),
PRIMARY KEY (id)
)
|
Implicitly created on first insert() operation. The primary key _id is automatically added if _id field is not specified. db.users.insert( {
user_id: "abc123",
age: 55,
status: "A"
} )
However, you can also explicitly create a collection: db.createCollection("users")
|