Comment expliquez-vous une requête distincte dans MongoDB?Comment expliquez-vous une requête distincte dans MongoDB?
db.test3.distinct("id", { key:"value"}).explain()
Erreurs avec:
explain is not a function (shell)
Comment expliquez-vous une requête distincte dans MongoDB?Comment expliquez-vous une requête distincte dans MongoDB?
db.test3.distinct("id", { key:"value"}).explain()
Erreurs avec:
explain is not a function (shell)
Vous ne pouvez pas utiliser expliquer avec le distinct selon cette mongodb jira ticket. Au lieu de cela, vous pouvez utiliser runCommand
et vérifier les statistiques, ce qui est un peu semblable à explain()
db.runCommand({ distinct: 'test3',key:'id',query:{key:"value"}})
Dans le test3 de requête ci-dessus est le nom de la collection, la clé est un nom de domaine que vous souhaitez appliquer distincte et, enfin, si vous vouliez spécifier un les filtres utilisent une requête.
Vérifiez les échantillons
> 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
}
Au Mongo 3.2, vous pouvez faire:
db.test3.explain().distinct("id", {key: "value"})
https://docs.mongodb.org/manual/reference/method/db.collection.explain/
Merci! Cela fonctionne très bien pour moi. –
Je ne suis pas en mesure de voir les statistiques, je viens de récupérer les valeurs et ok comme réponse. – genericuser
@RyanHoffman: Doit être marqué comme la réponse acceptée, à mon humble avis. Merci! –