学习主题:MongoDb
学习目标:
1.掌握什么是mongodb?
2.掌握mongodb的配置安装
3.mongodb的用户创建和认证
4.mongodb更新用户删除用户
5.mongodb创建集合 查看删除集合
1.Linux软件安装-安装mongodb
(1)在Linux系统中如何启动mongodb?
1、前置启动
2、后置启动
3、配置文件启动
·
[root@bogon bin]# ./mongod --config /usr/local/mongodb/etc/mongodb.conf
(2)mongodb前置启动?
在mongodb的bin目录下执行启动命令
[root@bogon bin]# ./mongod --dbpath /usr/local/mongodb/data/db/
(3)mongodb后置启动?
在mongodb的bin目录下执行启动命令
[root@bogon bin]# ./mongod --dbpath /usr/local/mongodb/data/db/
–logpath /usr/local/mongodb/log/mongodb.log --fork
2.Mongodb中的数据类型有哪些?
String,Integer,Object,Date,Null,Double等
3.Mongodb的关闭方式?
使用 Ctrl+C 关闭
如果我们的启动方式是前置启动,那么直接使用快捷键 Ctrl+C 就可以关闭 MongoDB。
这种关闭方式会等待当前进行中的的操作完成,所以依然是安全的关闭方式。
使用 kill 命令关闭
我们可以通过Linux的kill命令结束MongoDB进程,然后删除data目录中的mongod.lock
文件,否则下次无法启动。但是此方法不建议使用,因为会造成数据损坏现象。
使用 MongoDB 的函数关闭
在 MongoDB 中提供了两个关闭数据库的函数:
db.shutdownServer()
db.runCommand(“shutdown”)
如上两个方法都需要在 admin 库中执行,并且都是安全的关闭方式。
使用 mongod 命令关闭 MongoDB
mongod --shutdown --dbpath<数据库路径>
mongod 命令的 shutdown 选项能安全的关闭 MongoDB 服务
4.Mongodb的权限介绍?
read 允许用户读取指定数据库
readWrite 允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看
统计或访问 system.profile
userAdmin 允许用户向 system.users 集合写入,可以在指定数据库里创建、删
除和管理用户
clusterAdmin 只在 admin 数据库中可用,赋予用户所有分片和复制集相关函数的
管理权限
readAnyDatabase 只在 admin 数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase 只在 admin 数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase 只在 admin 数据库中可用,赋予用户所有数据库的 userAdmin 权限
dbAdminAnyDatabase 只在 admin 数据库中可用,赋予用户所有数据库的 dbAdmin 权限
root 只在 admin 数据库中可用。超级账号,超级权限
5.Mongodb创建用户的语法?
db.createUser({
user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
});
6.Mongodb如何实现用户认证?
认证函数:db.auth(‘用户名’,’密码’)
结果如果返回1代表认证成功,返回0代表认证失败。
7.Mongodb如何实现角色更新?有几种方式,区别是什么?
db.updateUser( “roles”:[{“role”:“角色名称”},{“更新项 2”:“更新内容”}])
8.Mongodb如何完成密码更新?
更新用户密码有两种方式:
1)使用 db.updateUser()函数更新密码。必须有用户管理权限才能使用。
2)使用 db.changeUserPassword()函数更新密码。必须有用户管理权限才能使用。
9.Mongodb如何删除用户,前提是什么?
通过 db.dropUser()函数可删除指定用户。删除成功后会返回 true。在删除用户时需要切换到创建时用户所在的数据库中才可以删除。注意:需要使用具有 userAdminAnyDatabse角色管理员用户才可以删除其他用户。
10.Mongodb如何创建删除数据库?
在 MongoDB 中创建数据库的命令使用的是 use 命令。该命令有两层含义:
1)切换到指定数据库。
2)如果切换的数据库不存在,则创建该数据库。
在 MongoDB 中使用 db.dropDatabase()函数来删除数据库。在删除数据库之前,需要使用具备 dbAdminAnyDatabase 角色的管理员用户登录,然后切换到需要删除的数据库,执行db.dropDatabase()函数即可。删除成功后会返回一个{ “ok” : 1 }的 JSON 字符串。
11.Mongodb如何创建集合,查看删除集合?
创建:
MongoDB 使用 db.createCollection()函数来创建集合。
语法格式:db.createCollection(name, options)。
name: 要创建的集合名称。
options: 可选参数, 指定有关内存大小及索引的选项。
删除:
如果我们要删除集合,需要先切换到需要删除集合所在的数据库,使用 drop()函数删除集合即可。
删除集合的语法格式为:db.集合名称.drop()。
12.Mongo的文档操作?
插入文档分为哪几种,分别是什么?
单个文档的插入:
db.dev.insert({title:“北京尚学堂”,description:“程序员的摇篮”,url:“www.bjsxt.com”,tags:[“Java”,“大数据”,“Python”]})
多个文档的插入:
db.dev.insert({title:“Java”,tags[“JavaEE”,“JavaSE”,“JavaME”]},{title:“ORM”,tags:[“MyBatis”,“Hibernate”]},{title:“Spring”,tags:[“SpringMVC”,“Spring Data”,“Spring Cloud”]})
使用变量:
插入单个文档:
document=({title:“Spring Cloud”,tags:[“Spring Cloud Netflix”,“Spring Cloud Security”,“Spring Cloud Consul”]})
db.dev.insert(document)
插入多个文档:
docu=({[{title:“Spring Data”,tags:[“Spring Data Redis”,“Spring Data MongoDB”]},{title:“Spring Security”,tags:[“Spring Security Oauth”,“Spring Security SAML”]},{title:“Spring Session”,tags:[“Spring Session MongoDB”]}]})
db.dev.insert(docu)