学习主题:MongoDb

学习目标:

1.掌握什么是mongodb?

2.掌握mongodb的配置安装

3.mongodb的用户创建和认证

4.mongodb更新用户删除用户

5.mongodb创建集合 查看删除集合

Linux软件安装-安装mongodb

在Linux系统中如何启动mongodb?



进入解压后的Mongodb目录中,创建data目录在data目录中创建db文件
Mkdir -p data/db 进入bin目录中有mongod服务



mongodb前置启动?



./mongod –dbpath /usr/local/mongodb/data/db/



mongodb后置启动?



创建log/mongodb.log日志文件
启动命令: 
./mongod --dbpath /usr/local/mongodb/data/db/ --logpath /usr/local/mongodb/log/mongdb.log --fork



Mongodb中的数据类型有哪些?



ObjectID:文档id
String:字符串,必须是有效的UTF-8
Boolean:true/false
● Object ID: ⽂档ID
● String: 字符串, 最常⽤, 必须是有效的UTF-8
● Boolean: 存储⼀个布尔值, true或false
● Integer: 整数可以是32位或64位, 这取决于服务器
● Double: 存储浮点值
● Arrays: 数组或列表, 多个值存储到⼀个键
● Object: ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档
● Null: 存储Null值
● Timestamp: 时间戳, 表示从1970-1-1到现在的总秒数
● Date: 存储当前⽇期或时间的UNIX时间格式
注意点
● 每个⽂档都有⼀个属性, 为_id, 保证每个⽂档的唯⼀性,mongodb默认使用_id作为主键
可以⾃⼰去设置_id插⼊⽂档,如果没有提供, 那么MongoDB为每个⽂档提供了⼀个独特的_id, 类型为objectID
● objectID是⼀个12字节的⼗六进制数,每个字节两位,一共是24 位的字符串: 前4个字节为当前时间戳 接下来3个字节的机器ID 接下来的2个字节中MongoDB的服务进程id 最后3个字节是简单的增量值



Mongodb的关闭方式?



使用ctrl+c关闭(基于前置启动的方式)  
使用kill命令关闭
使用MongoDB函数关闭
	db.shutdownService()
	db.runCommand(“shutdown”)
使用mongod的命令关闭mongoDB
./mongod --shutdown --config /usr/local/mongodb/etc/mongodb.conf



Mongodb的权限介绍?




mongodb 删除root mongodb 删除用户名_mongodb 启动


Mongodb创建用户的语法?


先创建数据库,再根据数据库创建用户
db.createUser({user:'itsxt',pwd:'itsxtpwd',roles:[{role:'readWrite',db:'sxt'}]})


Mongodb如何实现用户认证?


1.	在config文件中添加auth=true,并重启服务
2.	登录mongo客户端切换到admin用户
3.	使用函数db.auth(‘bjsxt’,’bjsxtpwd’)
4.	再次查询db.system.users.find()


Mongodb如何实现角色更新?有几种方式,区别是什么?


对未存在的用户进行角色更新,即创建新用户时,赋予权限
对存在的用户进行角色更新,使用db.updateUser()函数
db.updateUser("bjsxt",{roles:[{"role":"userAdminAnyDatabase","db":"admin"},{"role":"dbAdminAnyDatabase","db":"admin"}]})
注意,该函数需要当前用户具有userAdminDatabase或者更高的权限


Mongodb如何完成密码更新?


db.updateUser("bjsxt",{"pwd":"sxt"})
db.changeUserPassword("bjsxt","sxtpwd")


Mongodb如何删除用户,前提是什么?


db.dropUser(“itsxt”)
前提:切换到创建用户所指定的数据库和需要使用具有userAdminDatabase角色管理


Mongodb如何创建删除数据库?


Db.dropDatabase()


Mongodb如何创建集合,查看删除集合?


默认集合:向数据库中插入数据,自动创建集合,并且使用数据库的名字作为集合的名称
创建不带参数的集合db.createCollection(“dev”).显示集合show collections
创建带参数的集合db.createCollection("dev2",{capped:true,autoIndexId:true,size:2000000,max:1000})
删除集合 db.dev2.drop()


Mongo的文档操作?

插入文档分为哪几种,分别是什么?


插入单个文档函数
Insert({})
Save({})
insertOne({})
使用变量插入:变量=({}), insert(变量)
插入多个文档函数(inserth)
Insert([{},{}…])
Save([{},{}…])
insertMany([{},{}…])
使用变量插入:变量=([{},{}…]),insert(变量)