2015-02-24 49 views
1

我需要殺死特定的mongodb操作。使用mongodb本地客戶端獲取opid和killOp

但是mongo命令(如aggregatemapReduce)是否從本地節點客戶端調用它們或者shell不返回它們的opid;所以我無法將db.currentOp()中的值與我想要殺死的特定查詢匹配。

我試着將我的查詢與query屬性db.currentOp().inprog相匹配,但它遠不可靠,在很多情況下,此屬性的值將是"$msg" : "query not recording (too large)",因此無法匹配。

如何獲取/分配ID給我的異步MongoDB查詢以便使用此ID來查找並終止來自(不同)連接的查詢?

+0

你能解釋更多你想什麼具體行動殺死,爲什麼?你能告訴我們一個令人困惑的'db.currentOp()'輸出,你希望能夠可靠地解析以確定哪些操作需要被終止? – wdberkeley 2015-02-24 15:52:17

+0

我開始查詢:'db.aggregate({...},(err,result)=> {...}'這個語句不會返回一個opid,也不知道如何識別關聯的opid這個查詢在'db.currentOp()'中,我只是希望能夠終止這個查詢。 – homam 2015-02-24 16:19:17

回答