MongoDB中的集合是一组文档的集,相当于关系型数据库中的表。

1. 创建集合

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

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

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

options 可以是如下参数:

字段

类型

类型

capped

布尔

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

autoindexid

布尔

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

size

数值

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

max

数值

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

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

1.1. 创建默认选项集合

注意: 集合是存在数据库中的,use 哪个数据库,创建的集合就在哪个数据库中,当我们在使用数据库时,如果不创建集合,默认会以数据库名称创建集合,注意,创建新的库需要指定用户,不是所有用户都可以操作的, 而且集合的名称是区分大小写的

  1. 使用管理员登录admin

use admin

  1. 用户认证

db.auth(“wql”,“123”)

  1. 创建数据库aaa

use aaa

  1. 创建用户

db.createUser({user:“aaa”,pwd:“aaa”,roles:[{role:“readWrite”,db:“aaa”}]})
Successfully added user: {
“user” : “aaa”,
“roles” : [
{
“role” : “readWrite”,
“db” : “aaa”
}
]
}

  1. 重新打开一个shell窗口,使用新创建的aaa用户登录,验证,插入数据即可,注意,默认创建的集合是数据库的名字

[mongodb@localhost bin]$ ./mongo
MongoDB shell version v4.0.27
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { “id” : UUID(“c22f31c7-8bfd-4367-a497-8614a200f59e”) }
MongoDB server version: 4.0.27

use aaa
switched to db aaa

db.auth(“aaa”,“aaa”)
1

db.aaa.insert({aaa:“aaa”})
WriteResult({ “nInserted” : 1 })

  1. 查看当前存在哪些集合

show collections

1.2 创建不带参数的集合

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

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

1.3 创建包含选项的集合

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

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

2. 查看集合

进入到集合所在数据库

use ccc

使用show tables或show collections查看

show collections

mongodb 集合映射实体类 mongodb集合操作_mongodb

查看集合详情信息

db.集合名称.stats()

mongodb 集合映射实体类 mongodb集合操作_数据库_02

3. 删除集合

进入到集合所在数据库

use ccc

删除指定集合

db.集合名.drop()

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