ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mongoDB学习笔记(正在完善中)

2022-08-19 01:02:26  阅读:189  来源: 互联网

标签:完善 mongoDB age db 用户 笔记 数据库 userInfo find


  1. 打开mongo shell

mongo

  1. 添加超级管理员账户

use admin  切换到admin数据库

db.createUser({user: 'myadmin', pwd: 'myadmin', roles:[{role: 'userAdminAnyDatabase', db:'admin'}]})

  1. 验证用户   db.auth(username, password)
  2. 执行查看命令(执行下面命令必须验证用户)

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 usersmongDB不允许一次会话认证多个用户

解决方案:退出当前shell窗口,或者新建shell窗口,重新认证auth认证登录

  1. 重新登录mongoDB后,
  2. 切换到目标数据库 use wll
  3. 验证用户  db.auth(‘test’, ‘test’)
  4. 最后就可以正常执行命令  

第二部分 查询语句

以集合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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有