1. 程式人生 > >MongDB常用命令鞏固學習以及加深實際應用原理

MongDB常用命令鞏固學習以及加深實際應用原理

MongoDB常用命令基礎鞏固

1 .進入資料庫

use admin

 

2 .增加或修改密碼

db.addUser('xingoo','123')

db.addUser("xingoo","123",true) 引數分別為 使用者名稱、密碼、是否只讀

 

3 .檢視使用者列表

db.system.users.find()

 

4 .使用者認證

db.auth('xingoo','123')

 

5 .刪除使用者

db.removeUser('xingoo')

 

6 .檢視所有使用者

show users

 

7 .檢視所有資料庫

show dbs

 

8 .檢視所有的collection集合

show collections

 

9 .檢視各個collection的狀態

db.printCollectionStats()

 

10 .檢視主從複製狀態

db.printReplicationInfo()

 

11 .修復資料庫

db.repairDatabase()

 

12 .設定profiling,0:off 1:slow 2 all

db.setProfilingLevel(1)

 

13 .檢視profiling

show profiling

 

14 .拷貝資料庫

db.copyDatabase('xingootest','xingootest1')

db.copyDatabase("xingootest","temp","127.0.0.1")

 

15 .刪除集合collection

db.xingootest.drop()

 

16 .刪除當前資料庫

db.dropDatabase()

 

第二節MongoDB增刪改命令

1 .儲存巢狀的物件

db.foo.save({'name':xingoo,'age':25,'address':{'city':'changchun','Province':'Jilin'}})

 

2 .儲存陣列物件

db.foo.save({'name':xingoo,'age':25,'address':['Jilin Province','Liaoning Province']})

 

3 .根據query條件修改,如果不存在則插入,允許修改多條記錄

db.foo.update({'age':'25'},{'$set':{'name':'xingoo'}},upsert=true,multi=true)

 

4 .刪除yy=5的記錄

db.foo.remove({'name':'xingoo'})

 

5 .刪除所有的記錄

db.foo.remove()

 

 第三節MongoDB索引相關係列

1 .增加索引:1 asc -1 desc

db.foo.ensureIndex({firstname:1,lastname:-1},{unieap:true})

 

2 .索引子物件(不懂)

db.foo.ensureIndex({'Al.Em':!})

 

3 .檢視索引資訊

db.foo.getIndexes()

db.foo.getIndexKeys()

 

4 .根據索引名刪除索引(不懂)

db.foo.dropIndex('Al.Em_1')

 

第四節MongoDB應用原理

1 .MongoDB支援儲存過程嗎?如果支援的話,怎麼用?

MongoDB支援儲存過程,它是javascript寫的,儲存在db.system.js表中。

 

2 .如何理解MongoDB中的GridFS機制,MongoDB為何使用GridFS來儲存檔案?

 

3 .GridFS是一種將大型檔案儲存在MongoDB中的檔案規範。使用GridFS可以將大檔案分隔成多個小文件存放,這樣我們能夠有效的儲存大文件,而且解決了BSON物件有限制的問題。

 

4 .為什麼MongoDB的資料檔案很大?

MongoDB採用的預分配空間的方式來防止檔案碎片。

 

5 .如果一個分片(Shard)停止或很慢的時候,發起一個查詢會怎樣?

 

6 .如果一個分片停止了,除非查詢設定了“Partial”選項,否則查詢會返回一個錯誤。如果一個分片響應很慢,MongoDB會等待它的響應。

 

7 .我怎麼檢視 Mongo 正在使用的連結?

db._adminCommand("connPoolStats");

 

8 .MongoDB要注意的問題

1.因為MongoDB是全索引的,所以它直接把索引放在記憶體中,因此最多支援2.5G的資料。如果是64位的會更多。

2.因為沒有恢復機制,因此要做好資料備份

3.因為預設監聽地址是127.0.0.1,因此要進行身份驗證,否則不夠安全;如果是自己使用,建議配置成localhost主機名

4.通過GetLastError確保變更。