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