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")