Подтвердить что ты не робот

Как объяснить отдельный запрос в MongoDB?

Как вы объясняете отдельный запрос в MongoDB?

 db.test3.distinct("id", { key:"value"}).explain()

Ошибки с:

explain is not a function (shell)
4b9b3361

Ответ 1

Вы не можете использовать объяснение с отличием в соответствии с этим mongodb jira ticket. Вместо этого вы можете использовать runCommand и проверить статистику, которая похожа на explain()

 db.runCommand({ distinct: 'test3',key:'id',query:{key:"value"}})

В вышеприведенном запросе test3 является именем коллекции, ключ - это имя поля, которое вы хотите применить, и, наконец, если вы хотите указать, какие фильтры используют запрос.

Проверьте образцы

> db.runCommand({ distinct: 'items',key:'name',query:{offered:true}})
{
    "values" : [
        "test flat",
        "Another aston martin",
        "super luxury villa",
        "Aston martin vanquish y for sale",
        "Super car",
        "Test item",
        "another sports car",
        "super car"
    ],
    "stats" : {
        "n" : 8,
        "nscanned" : 10,
        "nscannedObjects" : 10,
        "timems" : 45,
        "cursor" : "BasicCursor"
    },
    "ok" : 1
}
> db.runCommand({ distinct: 'items',key:'name',query:{offered:false}})
{
    "values" : [
        "yamaha",
        "Test item"
    ],
    "stats" : {
        "n" : 2,
        "nscanned" : 10,
        "nscannedObjects" : 10,
        "timems" : 0,
        "cursor" : "BasicCursor"
    },
    "ok" : 1
}