数据库应用:MongoDB 库与集合管理

目录

一、理论

1.MongoDB用户管理

2.MogoDB库管理

3.MogoDB集合管理

二、实验

1.MongoDB用户管理

2.MogoDB库管理

3.MogoDB集合管理

三、问题

1.不显示新创建的数据库

2.插入数据报错

3.删除指定数据库报错


一、理论

1.MongoDB用户管理

(1) 内置角色

数据库用户角色:read、readWrite; 
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 
备份恢复角色:backup、restore; 
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 
超级用户角色:root
// 有几个角色间接或直接提供了系统超级用户的访问权限(dbOwner 、userAdmin、userAdminAnyDatabase)

(2)内置权限

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,擁有超级权限

2.MogoDB库管理

(1)显示所有数据库列表(空数据库不会显示,因为空数据库已经被mongoDB回收了)

在mongoDB中,最重要的核心是文档,如果一个库或者一个库下的集合中的文档全部被删除了,则这个库和这个集合就会mongoDB回收删除。

show dbs
show databases

(2)切换数据库,如果数据库不存在则创建数据库。

use  

(3)查看当前工作的数据库

 // db.getName() 的简写
db  

(4)删除当前数据库,如果数据库不存在,也会返回{"ok":1}

use           // 先切换到要删除的数据库中,然后才能删除数据库
db.dropDatabase()

(5)查看当前数据库状态

db.stats()

3.MogoDB集合管理

(1)集合列表

 // 或 show tables   或 db.getCollectionNames()
show collections

(2)删除集合

db.集合.drop()

(3)查看集合

db.getCollection("集合")
db.集合

(4)查看集合创建信息

db.printCollectionStats()

二、实验

1.MongoDB用户管理

(1)登录数据库

数据库应用:MongoDB 库与集合管理_第1张图片

(2)给Admin数据库创建账户管理员

数据库应用:MongoDB 库与集合管理_第2张图片

(3)显示用户

数据库应用:MongoDB 库与集合管理_第3张图片

(4)创建超级管理员

数据库应用:MongoDB 库与集合管理_第4张图片

(5)创建用户自己的数据库的角色

数据库应用:MongoDB 库与集合管理_第5张图片

(6)查看当前仓库下的用户

数据库应用:MongoDB 库与集合管理_第6张图片

(7)在admin库中全局显示用户

数据库应用:MongoDB 库与集合管理_第7张图片

(8)查看当前数据库下的管理用户

数据库应用:MongoDB 库与集合管理_第8张图片

(9)admin数据库中查询

数据库应用:MongoDB 库与集合管理_第9张图片

(10)以结构化格式显示数据

数据库应用:MongoDB 库与集合管理_第10张图片

(11)删除用户

数据库应用:MongoDB 库与集合管理_第11张图片

(12)重新创建并退出

数据库应用:MongoDB 库与集合管理_第12张图片

(13)编辑

(14)重启mongdb,配置生效

(15)开启了账户认证机制以后,再次进入

数据库应用:MongoDB 库与集合管理_第13张图片

(16)此处认证时填写正确密码

数据库应用:MongoDB 库与集合管理_第14张图片

(17)此处认证时填写错误密码,报错如下

数据库应用:MongoDB 库与集合管理_第15张图片

2.MogoDB库管理

(1)显示所有数据库列表

数据库应用:MongoDB 库与集合管理_第16张图片

(2)切换数据库

数据库应用:MongoDB 库与集合管理_第17张图片

(3)查看当前工作的数据库

数据库应用:MongoDB 库与集合管理_第18张图片

(4)添加数据

数据库应用:MongoDB 库与集合管理_第19张图片

(5)删除数据

数据库应用:MongoDB 库与集合管理_第20张图片

(6)显示已删除

数据库应用:MongoDB 库与集合管理_第21张图片

(7)查看状态

数据库应用:MongoDB 库与集合管理_第22张图片

3.MogoDB集合管理

(1)加文档到集合

数据库应用:MongoDB 库与集合管理_第23张图片

(2)删除集合

数据库应用:MongoDB 库与集合管理_第24张图片

(3)查看集合

数据库应用:MongoDB 库与集合管理_第25张图片

(4)查看集合创建信息

(5)添加一条数据

数据库应用:MongoDB 库与集合管理_第26张图片

(6)查看详细信息

数据库应用:MongoDB 库与集合管理_第27张图片

(7)变量赋值

数据库应用:MongoDB 库与集合管理_第28张图片

(8)查询变量值

数据库应用:MongoDB 库与集合管理_第29张图片

(9)mongo原则上内置了js解释引擎,所以支持js语法数据库应用:MongoDB 库与集合管理_第30张图片(10)javascrit总可以通过typeof 来查看数据的类型

数据库应用:MongoDB 库与集合管理_第31张图片

(11)添加一条数据数据库应用:MongoDB 库与集合管理_第32张图片(12)查看数据(nosql就是数据与数据之间格式是不固定的)

数据库应用:MongoDB 库与集合管理_第33张图片

(13)添加多条数据数据库应用:MongoDB 库与集合管理_第34张图片(14)显示有4条数据

数据库应用:MongoDB 库与集合管理_第35张图片

(15)添加2个16岁的

数据库应用:MongoDB 库与集合管理_第36张图片

(16)再添加2个16岁的,此时共有4个16岁

数据库应用:MongoDB 库与集合管理_第37张图片

(17)删除满足条件的第一条数据

数据库应用:MongoDB 库与集合管理_第38张图片

(18)删除满足条件的所有数据

数据库应用:MongoDB 库与集合管理_第39张图片

(19)16再添加4个16岁的,此时共有4个16岁

数据库应用:MongoDB 库与集合管理_第40张图片

(20) 新版本建议用deleteone删除一条

数据库应用:MongoDB 库与集合管理_第41张图片

(21)新版本建议用deletemany删除多条

数据库应用:MongoDB 库与集合管理_第42张图片

三、问题

1.不显示新创建的数据库

(1)查询所有数据库

数据库应用:MongoDB 库与集合管理_第43张图片

(2)原因分析

因为david库无数据

(3)解决方法

插入数据后显示

数据库应用:MongoDB 库与集合管理_第44张图片

2.插入数据报错

(1)报错

(2)原因分析

语法错误,修改为insertOne

(3)解决方法

数据库应用:MongoDB 库与集合管理_第45张图片

3.删除指定数据库报错

(1)报错

数据库应用:MongoDB 库与集合管理_第46张图片

(2)原因分析

语法错误

(3)解决方法

修改命令

数据库应用:MongoDB 库与集合管理_第47张图片

你可能感兴趣的:(数据库应用,数据库,mongodb)