我需要杀死特定的mongodb操作。使用mongodb本地客户端获取opid和killOp
但是mongo命令(如aggregate
或mapReduce
)是否从本地节点客户端调用它们或者shell不返回它们的opid;所以我无法将db.currentOp()
中的值与我想要杀死的特定查询匹配。
我试着将我的查询与query
属性db.currentOp().inprog
相匹配,但它远不可靠,在很多情况下,此属性的值将是"$msg" : "query not recording (too large)"
,因此无法匹配。
如何获取/分配ID给我的异步MongoDB查询以便使用此ID来查找并终止来自(不同)连接的查询?
你能解释更多你想什么具体行动杀死,为什么?你能告诉我们一个令人困惑的'db.currentOp()'输出,你希望能够可靠地解析以确定哪些操作需要被终止? – wdberkeley 2015-02-24 15:52:17
我开始查询:'db.aggregate({...},(err,result)=> {...}'这个语句不会返回一个opid,也不知道如何识别关联的opid这个查询在'db.currentOp()'中,我只是希望能够终止这个查询。 – homam 2015-02-24 16:19:17