介紹 Mongo資料庫有資料庫指令(database command)概念。使用這些命令可以讓資料庫執行某中操作或是返回有關資料庫目前狀態的某些資訊。
一條指令將被作為針對 $cmd 集合的一種特殊的查詢語句發送到資料庫。資料庫執行後,將返回一個單文檔對象作為命令的返回結果,可以用 findOne() 獲得。 基本的命令格式為: db.$cmd.findOne( { <commandname>: <value> [, options] } ); 在命令列環境下,可以執行: db.runCommand( { <commandname>: <value> [, options] } ); 例如,檢查當前資料庫profile level的設定,可以執行: > db.runCommand({profile:-1}); { "was" : 0.0 , "ok" : 1.0 } 多數資料庫驅動提供了對資料庫指令的封裝方法,以方便使用。例如mongo shell 提供 > db.getProfilingLevel() 0.0 該方法的實現如下: > print( db.getProfilingLevel ) function () { var res = this._dbCommand({profile:-1}); return res ? res.was : null; } > print( db._dbCommand ) function (cmdObj) { return this.$cmd.findOne(cmdObj); } 多數指令都有類似的簡便用法 - 參見各資料庫驅動的相關文檔。 特權指令某些特殊的操作只有管理員才能執行。這些特殊的操作將在{{admin}}資料庫中執行。 > use admin; > db.runCommand("shutdown"); // shut down the database 如果當前資料庫不是'admin', 你可以直接使用_adminCommand方法去操作: > db._adminCommand("shutdown"); (對於這個操作,還有簡便用法db.shutdownServer。) 獲得指令協助資訊使用commandHelp命令去獲得某個指令的相關資訊: > db.commandHelp("datasize") help for: datasize example: { datasize:"blog.posts", keyPattern:{x:1}, min:{x:10}, max:{x:55} } NOTE: This command may take awhile to run (某些指令還沒有完整的協助資訊.) |