如何进行MongoDB集合的高效操作?

2026-05-28 03:022阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计902个文字,预计阅读时间需要4分钟。

如何进行MongoDB集合的高效操作?

1. 创建集合+创建集合有两种方式,即显式创建和隐式创建。

1.创建集合

创建集合有两种方式,即显式创建集合和隐式创建集合两种

# 显式创建集合
db.createCollection(collection_name,[options])
# 隐式创建集合
db.collection_name.insert(document)


MongoDB使用db.createCollection()函数来创建集合。

语法格式:db.createCollection(name, options)。

  • name: 要创建的集合名称。
  • options: 可选参数, 指定有关内存大小及索引的选项。

options 可以是如下参数:

字段

类型

类型

capped

布尔

(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数

autoindexid

布尔


(可选)如为 true,自动在 _id 字段自动创建索引。默认为false

size

数值

(可选)为固定集合指定一个最大值(以字节为单位)。如果 capped 为 true,也需要指定该字段。

​​size​​小于等于4096,那集合固定为4096 bytes大小。否则​​MongoDB​​会使得size始终为256的整数倍。

max

数值

(可选)指定固定集合中包含文档的最大数量。设置max时必须设置capped和size

如何进行MongoDB集合的高效操作?

固定集合 :两个限制条件,只要有任意一个限制条件满足,集合都会开始将更古老的数据删除。固定集合一旦创建成功就不能再修改,想修改只能删除重来,可以通过 db.collection_name.isCapped() 查询

在插入文档时,MongoDB首先检查固定集合的size字段,然后检查max字段


1.1 创建不带参数的集合

我们也可以根据自身情况来创建集合,该集合创建时不需要指定任何参数,如果开启认证,则使用具有管理员权限的用户来创建集合;

> db.createCollection("bbb")
{ "ok" : 1 }
> show collections
bbb
ccc
>

1.2 创建包含选项的集合

所有选项写在createCollection第二个参数{}中

db.createCollection(“c2”,{“max”:2,capped:true,size:100000})


2. 查看集合

进入到集合所在数据库

use ccc

2.1 使用show tables或show collections查看

show collections

2.2 查看集合详情信息

db.集合名称.stats()


2.3 判断定长集合

# 判断是否为定长集合

db.collection_name.isCapped()

改语法表示判断在当前数据库中的指定集合是否为定长集合。isCapped方法用于判断指定的集合是否为定长集合,返回布尔类型。下面对myCollection2和myCollection3做示范

db.collection_name.isCapped()

结果返回如下


3.删除集合

进入到集合所在数据库

use ccc

删除指定集合

db.集合名.drop()

> show tables
bbb
ccc
> db.bbb.drop()
true


4.清空集合


db.collection_name.remove({})

注意此处清空{},实则清空collection_name集合下的所有文档,必须用{}进行引用(也可以单独清空某一个文档)。下面清空myCollection2集合





本文共计902个文字,预计阅读时间需要4分钟。

如何进行MongoDB集合的高效操作?

1. 创建集合+创建集合有两种方式,即显式创建和隐式创建。

1.创建集合

创建集合有两种方式,即显式创建集合和隐式创建集合两种

# 显式创建集合
db.createCollection(collection_name,[options])
# 隐式创建集合
db.collection_name.insert(document)


MongoDB使用db.createCollection()函数来创建集合。

语法格式:db.createCollection(name, options)。

  • name: 要创建的集合名称。
  • options: 可选参数, 指定有关内存大小及索引的选项。

options 可以是如下参数:

字段

类型

类型

capped

布尔

(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数

autoindexid

布尔


(可选)如为 true,自动在 _id 字段自动创建索引。默认为false

size

数值

(可选)为固定集合指定一个最大值(以字节为单位)。如果 capped 为 true,也需要指定该字段。

​​size​​小于等于4096,那集合固定为4096 bytes大小。否则​​MongoDB​​会使得size始终为256的整数倍。

max

数值

(可选)指定固定集合中包含文档的最大数量。设置max时必须设置capped和size

如何进行MongoDB集合的高效操作?

固定集合 :两个限制条件,只要有任意一个限制条件满足,集合都会开始将更古老的数据删除。固定集合一旦创建成功就不能再修改,想修改只能删除重来,可以通过 db.collection_name.isCapped() 查询

在插入文档时,MongoDB首先检查固定集合的size字段,然后检查max字段


1.1 创建不带参数的集合

我们也可以根据自身情况来创建集合,该集合创建时不需要指定任何参数,如果开启认证,则使用具有管理员权限的用户来创建集合;

> db.createCollection("bbb")
{ "ok" : 1 }
> show collections
bbb
ccc
>

1.2 创建包含选项的集合

所有选项写在createCollection第二个参数{}中

db.createCollection(“c2”,{“max”:2,capped:true,size:100000})


2. 查看集合

进入到集合所在数据库

use ccc

2.1 使用show tables或show collections查看

show collections

2.2 查看集合详情信息

db.集合名称.stats()


2.3 判断定长集合

# 判断是否为定长集合

db.collection_name.isCapped()

改语法表示判断在当前数据库中的指定集合是否为定长集合。isCapped方法用于判断指定的集合是否为定长集合,返回布尔类型。下面对myCollection2和myCollection3做示范

db.collection_name.isCapped()

结果返回如下


3.删除集合

进入到集合所在数据库

use ccc

删除指定集合

db.集合名.drop()

> show tables
bbb
ccc
> db.bbb.drop()
true


4.清空集合


db.collection_name.remove({})

注意此处清空{},实则清空collection_name集合下的所有文档,必须用{}进行引用(也可以单独清空某一个文档)。下面清空myCollection2集合