Вы не можете использовать объяснение с отличным согласно этому 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
}