MongoDB 创建集合

语法:

基本的 createCollection() 命令语法如下:

  1. 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() 方法不使用选项的基本语法如下:

  1. >use example
  2. switched to db example
  3. >db.createCollection("mycollection")
  4. { "ok" : 1 }
  5. >

可以检查通过使用创建的集合命令 show collections

  1. >show collections
  2. mycollection
  3. >db.createCollection("log", { capped : true, size : 5242880, max : 5000 } )
  4. { "ok" : 1 }
  5. >
  6. This command creates a collection named log with a maximum size of 5 megabytes and a maximum of 5000 documents.

在MongoDB中,可以不需要创建集合。当插入一些文档自动创建的集合。

  1. >db.itcast.insert({"name" : "itcast"})
  2. >show collections
  3. mycol
  4. mycollection
  5. itcast
  6. >

创建 MongoDB Schema 和 SQL Schema区别

SQL Schema StatementsMongoDB Schema Statements
  1. 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 _idis automatically added if _id field is not specified.
  1. db.users.insert( { user_id: "abc123", age: 55, status: "A" } )
However, you can also explicitly create a collection:
  1. db.createCollection("users")