Mongo集合操作

2、创建切换数据库

2.1 默认数据库

mongo数据库和其他类型的数据库一样,可以创建数据库,且可以创建多个数据库。

mongo数据库默认会有四个数据库,分别是

  • admin:主要存储MongoDB的用户、角色等信息

  • config:主要存储分片集群基础信息

  • local:主要存储副本集的元数据

  • test:在不插入数据时不会显示出来

    test库是一个默认的数据库,除了test库外admin、config、local库为系统库

2.2.1 admin库

admin数据库是mong默认的系统库之一,它最主要用来存放一些用户、角色以及版本等信息,在admin库下默认有两个集合(在其他数据库中叫表),分别是角色信息和版本信息。

# 切换到admin库下
use admin
# 查看是否切换成功
db
#查看admin库中的集合
show collections

在这里插入图片描述

其中 system.version主要存储一些featureCompatibilityVersion信息和authSchema信息

db.system.version.find()

在这里插入图片描述

system.users主要存储一些用户 角色信息
在这里插入图片描述

​ 可以在admin数据库下建立任意集合,存储任何数据,但强烈建议不要使用admin数据库存储应用业务数据,最好创建新的数据库。
  admin数据库里的system.users集合的数据会缓存到内存里,这样不用每次鉴权都从磁盘加载用户角色信息。
  MongoDB admin数据库的写入操作的锁级别只能到DB级别,不支持多个collection并发写入,在写入时也不支持并发读取。如果用户在admin数据库里存储业务数据,则可能遭遇性能问题。

2.2.2 config库

config数据库也是mongo默认的系统库之一, 主要存储副本集的元数据

# 切换到local库下
use local
# 查看是否切换成功
db
#查看local库中的集合,
show collections
2.2.3 local库

local数据库也是mongo默认的系统库之一, 主要用来存储分片集群的信息,一般只有在分片是起作用

# 切换到local库下
use local
# 查看是否切换成功
db
#查看local库中的集合,
show collections

2.2 创建切换删除数据库

2.2.1 创建切换数据库

在mongo中创建和切换数据库用的是同一个命令

use database_name

如果DataBase_Name存在,则直接切换,若不存在则直接创建

# 查看当前已存在的所有数据库
>show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
# 创建数据库
>use demo
switched to db demo
# 再次查看当前存在的所有数据库
>show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
# 可以发现,没有刚才自己创建的数据库,那是因为在mongo中创建的数据库默认不展示,需要想向数据库中插入数据,此时数据库才会展示
>db.demo.insert({"name":"hello worod"});
>>show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
demo    0.000GB
2.2.3 删除数据库
#切换到需要删除的数据库
>use demo
#查看
>db
#删除
>db.dropDatabase()
2.2.4 数据库命名规范
  1. 不能是空字符串(“”)
  2. 不得含有’ '(空格)、.、$、/、\和\0 (空字符)。
  3. 应全部小写,且最多64字节
  4. 有一些数据库名是保留的,不能作为自己的库名(例如:admin config local)

3、集合操作

在mongo数据库中,数据表叫做集合。

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合

3.1 创建集合

在mongo中创建集合的方式主要分为两类:

  1. 隐式创建集合
  2. 显示创建集合
3.1 隐式创建集合

隐式创建集合,顾名思义就是在你没有创建集合,但是却mongo已经帮你创建好集合了。其实本质是当我们在创建数据库的时候,mongo默认会给你创建一个和数据库名一样的集合

use demo
db.demo.insert({id:1,name:"hello mongo"})

此时就会创建一个默认的集合,但是如果不插入数据,则该数据库不会展示.

3.2 显示创建集合

显示创建集合就是通过命令进行显示的创建集合

语法:

​ db.createCollection(name, options)

参数说明:

  • name: 要创建的集合名称
  • options: 可选参数, 指定有关内存大小及索引的选项
字段类型描述
capped布尔如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。 当该值为 true 时,必须指定 size 参数。,默认为false
size数值为固定集合指定一个最大值,即字节数。 如果 capped 为 true,也需要指定该字段。
max数值指定固定集合中包含文档的最大数量。

例子:

#得到所有集合(不包含集合的详细信息)
db.getCollectionNames()
#得到集合的详细信息
db.getCollectionInfos()
#创建固定集合
db.createCollection("test1",{capped:true,size:1000,max:1000})
#创建非固定集合
db.createCollection("test")

在这里插入图片描述

3.2 查看集合

查看的集合的方式主要分为两种

  1. 查看集合的详细信息
  2. 查看集合,只得到集合的名字
#得到所有集合(不包含集合的详细信息)
db.getCollectionNames()
#得到集合的详细信息
db.getCollectionInfos()

![

3.3 删除集合

当我们不想使用某个集合(表),或者不在使用某个集合时,为了节约空间,此时我们可以将某个集合删除, 但是在删除集合时一定要特别注意,一般不建议删除集合,尤其是在生产环境中.

语法:

db.collection_Nane.drop()

如果删除成功,则返回true,否则返回false

例子:

#删除某个集合
db.test.drop()

在这里插入图片描述

注意:不建议进行此操作,尤其是在生产环境中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值