MongoDB как фильтровать выходные данные db.adminCommand

#javascript #json #mon&odb

#javascript #json #mon&odb

Вопрос:

кто-нибудь знает, как фильтровать вывод mon&odb db.adminCommand? Потому что, если я запускаю эту команду db.adminCommand({ "currentOp": true, "op" : "query", "planSummary": "COLLSCAN" }) , я получаю огромный вывод JSON, но меня интересуют только некоторые поля (например, secs_runnin&, op, command, $ db)

Большое спасибо!

Ответ №1:

Вы можете добавить фильтры непосредственно к объекту command следующим образом:

 var commandObj = {
        "currentOp" : 1,
        "waitin&ForLock" : true,
        "$or" : [
                {
                        "op" : {
                                "$in" : [
                                        "insert",
                                        "update",
                                        "remove"
                                ]
                        }
                },
                {
                        "command.findandmodify" : {
                                "$exists" : true
                        }
                }
        ]
};

db.adminCommand(commandObj);
  

Вы можете увидеть некоторые примеры фильтров в документах Mon&oDB: https://docs.mon&odb.com/manual/reference/method/db.currentOp/#examples

Просто перечитайте ваш вопрос, и я думаю, вы, возможно, имели в виду просто проецирование полей обратно из базы данных, которая вам небезразлична? если это так, вы можете просто выполнить map поверх текущих результатов, чтобы видеть только то, что вас волнует?

 db.adminCommand(commandObj).inpro&.map(x =&&t; x.opid};