首页 > 数据库 >mongoDB学习笔记(正在完善中)

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

时间:2022-08-19 00:33:37浏览次数:80  
标签:完善 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
From: https://www.cnblogs.com/wllit/p/16600633.html

相关文章

  • 03.Javascript学习笔记2
    1.逻辑运算符在javascript中与或非对应的逻辑运算符是:&&||!consta=true;constb=false;console.log(a&&b);console.log(a||b);console.log......
  • TS学习笔记(3)
    在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。TypeScript中的接口是一个非常灵活的概念,除了可用于......
  • 【PyTorch学习笔记】1.Tensor 与 Variable
    在PyTorch0.4.0之前,torch.autograd包中存在Variable这种数据类型,主要是用于封装Tensor,进行自动求导。Variable主要包含下面几种属性。 data:被包装的......
  • 学习笔记-涛讲F#(基础)
    目录简介类型推导多个输入参数的函数定义单位偏函数常量也是函数返回值(unit与ignore)函数串联实现“开方乘十”使用管道符|>元组(参数加上括号)F#中的类记录复制和更新记录表......
  • 展昭老师接口测试笔记
     1. 接口测试常规操作入门2. 接口测试用例设计方法详解3. 用例设计秘笈之场景分析法详解4. 接口测试用例编写与执行实战5. 接口自动化测试执行实战展昭老师 安......
  • 2022-08-18 第五组 赖哲栋 学习笔记
    MySQL常用函数聚合函数count:计数count():MySQL对count()底层优化,count(0)count(1)count(主键)count(字段)min:最小值max:最大值sum:求和avg:平均值数值型函数......
  • 一些优秀的笔记
    子序列自动机莫队集合|分块与莫队位掩码|位掩码*2AC自动机......
  • 李超线段树学习笔记
    这个hack数据是真的强。模板题的题解很重要哦,希望你能找到适合自己的。博客食用更佳哦李超线段树的定义对于李超线段树的定义,JHSeng大佬的定义简洁精炼:李超线段树是一......
  • 2022-08-18 第二小组 张鑫 学习笔记
    实训四十天1.学习重点1.MySQL常用函数2.数据库设计3.JDBC2.学习心得今天的内容主要是JDBC,四天没有用idea,属实有点生疏了,要多多练习才行3.学习内容MySQL常用函数......
  • 输入文字的完善
    //3.文本域字数不得超过限制获取输入框consttextarea=document.querySelector('.comm-inputtextarea')//3.1中文起始量为falseletisChinese=falsetextare......