MongoDB创建集合

MongoDB创建集合

MongoDB 中,我们需要创建一个集合,有两种方式,即显式创建与隐式创建,显式创建是使用 createCollection,隐式创建是直接向不存在的集合中插入数据即可自动创建。

MongoDB显式创建集合

语法

db.createCollection(name, options)

参数

参数 描述
name 要创建的集合名字
options 可选项,指定内存大小和索引等

选项

参数 类型 描述
capped Boolean (可选)如果为 true,则启用封闭的集合。上限集合是固定大小的集合,它在达到其最大时自动覆盖其最旧的条目。如果指定 true,则还需要指定 size 参数
size 数字 (可选)指定上限集合的最大大小(以字节为单位)。如果 capped 为 true,那么还需要指定次字段的值
max 数字 (可选)指定上限集合中允许的最大文档数

说明

使用 createCollection 显式创建集合时,可以通过选项参数来指定创建集合的内存大小和索引等信息。

技术细节

在插入文档时,MongoDB 首先检查上限集合 capped 字段的大小,然后检查 max 字段。

MongoDB隐式创建集合

语法

db.collection_name.insert(doc)

参数

参数 描述
collection_name 要创建的集合名字
doc 插入的文档

说明

隐式创建集合时,如果集合存在,则直接插入数据,如果集合不存在,则先创建集合,再次插入元素。

案例

我们首先,使用 mongo 命令,连接上数据库,具体命令如下:

mongo

如下图所示:

04_mongodb创建集合.png

现在,我们使用 use 命令,创建一个 haicoder 数据库,具体命令如下:

use haicoder

现在,我们使用 show 命令,查看当前数据库下数据的集合,具体命令如下:

show collections

执行完毕后,如下图所示:

05_mongodb创建集合.png

我们看到,此时当前数据库下没有任何的集合,现在,我们显式创建一个 haicoder 数据表,具体命令如下:

db.createCollection("haicoder")

执行完毕后,我们再次使用 show 命令,查看当前数据库下所有的数据表,此时,如下图所示:

06_mongodb创建集合.png

我们看到,此时我们就在 haicoder 数据库下成功创建了一个 haicoder 数据表,现在,我们直接使用隐式创建一个数据表,具体命令如下:

db.haicoder_new.insert({"url":"www.haicoder.net"})

执行完毕后,我们再次使用 show 命令,查看所有的数据表,此时,如下图所示:

07_mongodb创建集合.png

我们看到,此时我们隐式创建了一个数据表 haicoder_new。

MongoDB创建表总结

在 MongoDB 中,我们需要创建一个集合,有两种方式,即显式创建与隐式创建,显式创建是使用 createCollection,隐式创建是直接向不存在的集合中插入数据即可自动创建。