2015-02-24 23 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

回答