天天看點

MongoDB檢視目前操作db.currentOp()

定義

db.currentOp()   

    傳回資料庫執行個體上正在運作的操作資訊的文檔。 

    db.currentOp()方法有如下格式:    

    db.currentOp(<operations>)    

    db.currentOp()方法可使用如下可選參數:    

    參數            類型            描述    

    operations    布爾值或文檔    可選。指定報告的操作。可以輸入布爾值或一個文檔。    

                    指定true,包含空閑連接配接和系統操作。    

                    指定帶有查詢條件的文檔,隻報告比對條件的操作。

行為

如果傳遞true給db.currentOp(),該方法傳回所有操作的資訊,包括空閑連接配接和系統操作。   

db.currentOp(true)  

傳遞true等于傳遞了一個查詢文檔{ '$all': true }。

如果傳遞一個查詢文檔給db.currentOp(),隻傳回比對查詢條件的目前操作。

你也可以指定{ '$all: true }查詢文檔傳回所有正在運作的操作資訊,包括空閑連接配接和系統操作。如果

查詢文檔包括 '$all':true 以及其他查詢條件,隻會應用 '$all': true。

通路控制

在系統上運作使用者授權驗證,使用者必須有通路inprog行為的權限。

示例

下面的示例使用帶有不同查詢文檔的db.currentOp()方法過濾輸出。

等待鎖的寫操作

下面的示例傳回正在等待鎖的所有寫操作資訊:

1

2

3

4

5

6

7

8

9

<code>db.currentOp(   </code>

<code>   </code><code>{    </code>

<code>     </code><code>"waitingForLock"</code> <code>: </code><code>true</code><code>,    </code>

<code>     </code><code>$</code><code>or</code><code>: [    </code>

<code>        </code><code>{ </code><code>"op"</code> <code>: { </code><code>"$in"</code> <code>: [ </code><code>"insert"</code><code>, </code><code>"update"</code><code>, </code><code>"remove"</code> <code>] } },    </code>

<code>        </code><code>{ </code><code>"query.findandmodify"</code><code>: { $exists: </code><code>true</code> <code>} }    </code>

<code>    </code><code>]    </code>

<code>   </code><code>}    </code>

<code>)</code>

沒有Yields的活動操作

下面的示例傳回所有活動的正在運作的還沒有Yields的操作的資訊:

<code>     </code><code>"active"</code> <code>: </code><code>true</code><code>,    </code>

<code>     </code><code>"numYields"</code> <code>: 0,    </code>

<code>     </code><code>"waitingForLock"</code> <code>: </code><code>false</code>    

對于特定資料庫的活動操作

下面的示例傳回對于資料庫db1運作時間大于3秒的所有活動操作:

<code>     </code><code>"secs_running"</code> <code>: { </code><code>"$gt"</code> <code>: 3 },    </code>

<code>     </code><code>"ns"</code> <code>: /^db1\./    </code>

活動索引操作

下面的示例傳回索引建立操作的資訊:

<code>    </code><code>{    </code>

<code>      </code><code>$</code><code>or</code><code>: [    </code>

<code>        </code><code>{ op: </code><code>"query"</code><code>, </code><code>"query.createIndexes"</code><code>: { $exists: </code><code>true</code> <code>} },    </code>

<code>        </code><code>{ op: </code><code>"insert"</code><code>, ns: /\.system\.indexes\b/ }    </code>

<code>      </code><code>]    </code>

<code>    </code><code>}    </code>

本文轉自UltraSQL51CTO部落格,原文連結: http://blog.51cto.com/ultrasql/1706393,如需轉載請自行聯系原作者