7

MongoDB用户权限和增删改查的操作方法以及常用关键字整理

 4 years ago
source link: https://blog.csdn.net/linuxguitu/article/details/113179785
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MongoDB用户权限和增删改查的操作方法以及常用关键字整理

这篇文章整理了一下mongodb的基本指令和一些经常用到的用户操作,同时我还整理了关于linux、redis、Nginx、MySQL以及zookeeper等绝大多数后端开发所要用到的一些常用命令

如果需要的话可以进群973961276免费领取,除了操作命令整理合集之外还有1000多道一线大厂面试题和超多的学习书籍以及视频资料,都可以免费给到有需要的朋友。

mongo的操作指令一般是要在指定的一个库下面进行的。命令 参数 数据库等大小写敏感。    

进入mongo命令:mongo   刚安装完mongodb是没有开启权限,没有用户的。

切换数据库:user admin   切换到amin数据库

显示当前数据库用户:show users

显示数据库:show dbs

推出momgodb:exit

刚安装完mongodb后,需要创建一个root权限的用户,然后修改配置文件开启权限验证,然后重启mongodb服务。

创建用户

验证用户 相当于登录

创建用户

Vi创建用户

比如说有一个CRM的库,我要给他创建用户。先切到CRM库上,在创建用户。

修改密码

修改用户密码changeUserPassword

最后报错,因为db.auth多次。需要推出 exit。

修改用户密码db.updateUser

删除用户

删除用户

修改用户权限

新增权限 

查看当前权限

 看到加入了两个权限

删除权限

 db.updateUser   完全把用户权限清洗为当前设定的值。 慎用

修改权限

基本增删查改

客户端

Studio 3T,破解方法可以百度。

上面可以写基础sql,可以查看官方文档。

数据库 

添加数据库

删除数据库

集合(表)

1、创建集合

通过插入一条数据创建集合

 2、删除集合

删除集合

文档(一行数据)

1、插入文档

插入文档到集合

如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档

插入文档到集合(单个 多个)

 2、更新文档

更新格式

query : update的查询条件,类似sql update查询内where后面的。

update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的

upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 writeConcern :可选,抛出异常的级别。

db.col1.update({name:"wdq"},{$set:{age:100}},{upsert:true,multi:true})
db.col1.save({_id:ObjectId("5e04d5af1e1033670e11ccdc"),name:"wdqwdq",age:110})

根据ID替换现有文档

View Code

3、删除文档

删除格式

remove() 方法 并不会真正释放空间。
需要继续执行 db.repairDatabase() 来回收磁盘空间。

 remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法

delete

集合 查询

操作格式范例RDBMS中的类似语句等于(equal){<key>:<value>}db.col.find({"by":"菜鸟教程"}).pretty()where by = '菜鸟教程'小于(less than){<key>:{$lt:<value>}}db.col.find({"likes":{$lt:50}}).pretty()where likes < 50小于或等于(lt equal){<key>:{$lte:<value>}}db.col.find({"likes":{$lte:50}}).pretty()where likes <= 50大于(greater than){<key>:{$gt:<value>}}db.col.find({"likes":{$gt:50}}).pretty()where likes > 50大于或等于(gt equal){<key>:{$gte:<value>}}db.col.find({"likes":{$gte:50}}).pretty()where likes >= 50不等于(not equal){<key>:{$ne:<value>}}db.col.find({"likes":{$ne:50}}).pretty()where likes != 50
db.col.find({key1:value1, key2:value2}).pretty()
关键字说明$or或关系$nor或关系取反$gt大于$gte大于等于$lt小于$lte小于等于$ne不等于$in在多个值范围内$nin不在多个值范围内$all匹配数组中多个值$regex正则,用于模糊查询$size匹配数组大小$maxDistance范围查询,距离(基于LBS)$mod取模运算$near邻域查询,查询附近的位置(基于LBS)$exists字段是否存在$elemMatch匹配内数组内的元素$within范围查询(基于LBS)$box范围查询,矩形范围$center范围查询,圆形范围$centerSphere范围查询,球形范围$slice查询字段集合中的元素(比如从第几个之后,第N到第M个元素)

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK