共計 1435 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這期內容當中丸趣 TV 小編將會給大家帶來有關 MongoDB 中有哪些數據庫命令,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
命令是如何工作的
這里有個你比較熟悉的例子:drop, 如果從 Shell 里刪除一個 collection,我們運行 db.test.drop(). 實際上,在內部執行的是 drop 命令,跟下邊用 runCommand 執行的操作是一樣的。
db.runCommand({drop : test});{nIndexesWas : 1, msg : indexes dropped for collection , ns : test.test , ok : true}
ok 表示是否執行成功
實際上,mongoDB 的命令被實現為一種對叫 $cmd 的 collection 的特殊查詢,runCommand 只是使用參數進行了一次查詢,所以我們的 drop 也可以這樣寫。
db.$cmd.findOne({drop : test});
當 mongoDB 服務器接到一個對 $cmd 的查詢時,使用一種特殊的邏輯來處理。幾乎所有的驅動都提供了 runCommand 方法來執行命令,實際上這些命令都可以通過執行查詢的方式來完成。
下邊是一些最常用的命令:
buildInfo: {buildInfo : 1}, 返回 mongoDB 服務器版本和宿主操作系統的信息 collStats:{collStats : collection},給出指定 collection 的統計信息,包括數據大小,分配的存儲控件,索引大小等 distinct:{distinct : collection, key : key, query : query} 返回在指定的 collection 里符合 query 條件的所有 key 的值 drop:{drop : collection},刪除 collection 的說有數據 dropDatabase:{dropDatabase : 1},刪除當前數據庫的所有數據 dropIndexes:{dropIndexes : collection, index : name},刪除 collection 上名字為 name 的索引 findAndModify:參見第 3 章 getLastError:{getLastError : 1[, w : w[, wtimeout : timeout]]},檢查此連接上最后操作的錯誤或狀態信息,可以指定一個選項,此命令將會阻塞直到 w 個 salves 復制了最后的那個操作或者時間超時 (毫秒)isMaster:{isMaster : 1},檢查此服務器是 master 還是 slavelistCommands:{listCommands : 1},列出此服務器上所有可用命令 listDatabases:{listDatabases : 1},列出服務器上所有數據庫 ping:{ping : 1},檢查服務器是否正在運行,即使服務器處于鎖定狀體此命令也會立即返回 renameCollection:{renameCollection : a, to : b},將 collection 的名字從 a 改為 brepairDatabase:{repairDatabase : 1}, 修復并壓縮當前數據庫 serverStatus:{serverStatus : 1},獲取此服務器的管理統計信息。
上述就是丸趣 TV 小編為大家分享的 MongoDB 中有哪些數據庫命令了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。
向 AI 問一下細節