Liste Toutes les valeurs d'un certain champ dans mongodb
Comment obtenir un tableau contenant toutes les valeurs d'un certain champ pour tous mes documents dans une collection?
Db.recouvrement:
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "x" : 1 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be7"), "x" : 2 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be8"), "x" : 3 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be9"), "x" : 4 }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), "x" : 5 }
"db.collection.ListAllValuesForfield (x)" Résultat: [1,2,3,4,5]
Aussi, que faire si ce champ était un tableau?
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "y" : [1,2] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be7"), "y" : [3,4] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be8"), "y" : [5,6] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be9"), "y" : [1,2] }
{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), "y" : [3,4] }
"db.collection.ListAllValuesInArrayField (y)" Résultat: [1,2,3,4,5,6,1,2,3,4]
De plus, puis-je rendre ce tableau unique? [1,2,3,4,5,6]
3 réponses
db.collection.distinct('x')
Devrait vous donner un tableau de valeurs uniques du champ.
Cela retournerait un tableau de docs, contenant juste sa valeur X...
db.collection.find(
{ },
{ x: 1, y: 0, _id:0 }
)
Avis: ma réponse est une fourchette de la réponse originale.
Avant tout " thumbs up "ici," thumbs up " la réponse acceptée:).
db.collection.distinct("NameOfTheField")
Trouve les valeurs distinctes pour un champ spécifié dans une seule collection ou vue et renvoie les résultats dans un tableau.
Référence: https://docs.mongodb.com/manual/reference/method/db.collection.distinct/