A partir disso: link
Isso pode ser um pouco complicado, mas o fato de o shell do MongoDB ser basicamente um interpretador de Javascript nos fornece opções decentes em termos de filtragem. Aqui está a função que uso para realizar isso:
// kills long running ops in MongoDB (taking seconds as an arg to define "long")
// attempts to be a bit safer than killing all by excluding replication related operations
// and only targeting queries as opposed to commands etc.
killLongRunningOps = function(maxSecsRunning) {
currOp = db.currentOp();
for (oper in currOp.inprog) {
op = currOp.inprog[oper-0];
if (op.secs_running > maxSecsRunning && op.op == "query" && !op.ns.startsWith("local")) {
print("Killing opId: " + op.opid
+ " running over for secs: "
+ op.secs_running);
db.killOp(op.opid);
}
}
};
Isso só matará as consultas acima do limite maxSecsRunning e não tocará em nada que esteja sendo executado no banco de dados local, que é onde o oplog mora (e, portanto, é o banco de dados envolvido nas operações de replicação de longa duração. É relativamente fácil adicione critérios ao interno se condicional a operações de destino mais precisamente conforme necessário com base em necessidades específicas.
O código também está disponível como uma essência (onde eu me lembrarei de atualizá-lo continuamente).
Isso ajudará você a segmentar operações específicas e encerrá-las.