mongoDB学习笔记(正在完善中)
作者:互联网
- 打开mongo shell
mongo
- 添加超级管理员账户
use admin 切换到admin数据库
db.createUser({user: 'myadmin', pwd: 'myadmin', roles:[{role: 'userAdminAnyDatabase', db:'admin'}]})
- 验证用户 db.auth(username, password)
- 执行查看命令(执行下面命令必须验证用户)
show users 查看用户是否创建成功【必须使用管理员账户】
show dbs 查看数据库列表
show collections 查看集合列表
mongodb 有哪些权限:
read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
创建数据库 use database_name
use wll
注意:此时新创建的数据库并不在列表中,必须要插入至少一条数据才会显示
插入数据之前,需要给新的数据库添加管理用户
db.createUser({user: 'test', pwd: 'test', roles:[{role: 'readWrite', db: 'wll'}]})
注意:如果已经验证过用户,是不能直接验证其他用户,否则会报错:logical sessions can't have multiple authenticated users,mongDB不允许一次会话认证多个用户
解决方案:退出当前shell窗口,或者新建shell窗口,重新认证auth认证登录
- 重新登录mongoDB后,
- 切换到目标数据库 use wll
- 验证用户 db.auth(‘test’, ‘test’)
- 最后就可以正常执行命令
第二部分 查询语句
以集合movie为例进行查询操作
查询所有记录 db.movie.find();
db.userInfo.find({"age": 22}); age=22
db.userInfo.find({age: {$gt: 22}}); age>22
db.userInfo.find({age: {$gte: 25}});
db.userInfo.find({age: {$gte: 23, $lte: 25}}); age>=23 and age <= 25
db.userInfo.find({age: {$ne: 25}});
查询 name 中包含 mongo 的数据 模糊查询用于搜索
db.userInfo.find({name: /mongo/});
查询指定列 name、age 数据, age > 25
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
排序sort:
按照年龄排序 1 升序 -1 降序
升序:db.userInfo.find().sort({age: 1});
Limit 限制返回条数
查询前 5 条数据
db.userInfo.find().limit(5);
查询 10 条以后的数据
db.userInfo.find().skip(10);
查询在 6-10条 之间的数据
db.userInfo.find().limit(10).skip(5);
or 查询
db.userInfo.find({$or: [{age: 22}, {age: 25}]});
and 查询
name = zhangsan, age = 22 的数据
db.userInfo.find({name: 'zhangsan', age: 22});
统计数量
db.userInfo.find({age: {$gte: 25}}).count();
第三部分 插入数据
第四部分 删除数据
第五部分 更新数据
参考博客
https://blog.csdn.net/qq_41767116/article/details/125586683
标签:完善,mongoDB,age,db,用户,笔记,数据库,userInfo,find 来源: https://www.cnblogs.com/wllit/p/16600633.html