14.mongodb
mongodb是一种基于文档的数据库,库表都会自动创建,不用提前创建,一张表称为一个集合(collections),一条记录称为一篇文档(json格式),每篇文档默认都有一个_id列,CURD操作:insert、remove、update、find
## 常用命令
```bash
show dbs;
use mydb;
show collections;
db.col.insert([{'name':'lilei','age':19},{'name':'liming','age':19}])
db.remove({'age':29});//删除所有=29
db.remove({'age':19,true});//删除一行
db.col.update({"name":"lilei"},{$set : {"age":22}},{'multi':true}) //multi:true全部修改
db.col.update({"name":"lilei"},{$inc : {"age":2}})
db.col.update({"name":"lilei"},{$rename : {"name":'username'}})
db.col.find();
db.col.findOne();
cursor = find().limit(3);
cursor.forEach(function(obj){
print(obj.name + ' age is : ' + obj.age);
})
```
## 用户权限
目前所用版本:mongodb 4.0.5
默认是不需要权限认证的,也不存在任何账户
1.启动服务端
mongod --dbpath=D:\\MongoDB\\data\\db
2.启用客户端,添加用户
```
#启动客户端
mongo
#创建超级管理员账户
use admin
db.createUser(user:'root',pwd:'root',roles:[{'role':'userAdminAnyDatabase','db':'admin'}]})
#给local数据库创建账户
use local
db.createUser(user:'test',pwd:'test888',roles:[{'role':'readWrite','db':'local'}]})
#Ctrl+C 退出
```
3.重启服务端(注意多了参数--auth)
mongod --dbpath=D:\\MongoDB\\data\\db --auth
4.客户端重新连接
```
mongo
use local #切换到local数据库
db.auth('test','test888') #用户认证 #认证通过,愉快的去操作
```
5.如果你想看其他数据库信息,则需要退出切换到admin数据库,用root账户认证
```
show dbs; //报错,没有权限
db.auth('root','root') //继续报错,认证失败
use admin
db.auth('root','root') //认证通过,返回1
```
说明:一个连接,只允许一个认证,不允许一会儿切换到root,一会儿切换到test。若要切换用户,必须断开重新连接,或重启一个cmd窗口
- 前言
- Interview
- 01-cookie与session
- 04-mysql索引
- 05-memcache与redis
- 06-高并发
- 07-主从同步
- 08-myisam与inondb
- 09-框架区别
- 10-php7新特性
- 11-设计模式
- 12-MySQL优化
- 13-php自动加载机制
- 14-MongoDB命令
- 15-Python爬虫之scrapy框架
- 16-php运行原理
- 17-单点登录
- Linux
- linux常见命令
- awk
- sed
- bash-shell
- vim学习教程
- PHP
- php运行机制
- php执行效率
- word2pdf
- php预览Word
- wechat_wafter2
- Python
- python
- win-bat
- svn操作命令
- git常用操作命令
- git_install
- gitlab安装
- nextcloud
- docker