как получить объяснение Python Mongo Aggregate с помощью db.command? - PullRequest
0 голосов
/ 22 мая 2019

Начиная с MongoDB 3.2, объяснение () использует режим многословия по умолчанию для команды объяснения, allPlansExecution.Чтобы использовать другую многословность, используйте command () для непосредственного запуска команды объяснения.

Мой агрегированный запрос выглядит примерно так

collection.aggregate(pipeline=QUERY, explain=True)

Это возвращает queryPlanner многословно, а не executionStats.

Что поддерживает оболочка mongo?

db.Item_Process_For_Report.explain("executionStats").aggregate([])

Что я пытаюсь сделать?

db.command('explain', <What goes here>)

1 Ответ

0 голосов
/ 22 мая 2019

Как и 22 мая 2019 года с MongoDB 4.0

pymongo в настоящее время позволяет выполнять объяснение только через db.command () , и это внутренне использует Команда агрегирования и агрегация, которая ограничивает объяснение для логического переключателя, который по умолчанию установлен на QueryPlanner, как показано здесь

...