2016-04-15 17 views
0

Ich habe Sammlung Collection1 und ich muss ein Array wie erhalten: [id1, id2, id3, ...] (Array, die aus _id`s für jedes Element in dieser Sammlung bestehen). Gibt es eine Möglichkeit, diese Abfrage mit MongoDB-Tools auszuführen? Vielen Dank!Wie frage ich ein Array von _id in MongoDB?

+1

Nur [deutliche verwenden ] (https://docs.mongodb.org/manual/reference/method/db.collection.distinct/) -> 'db.Collection1.distinct (" _ id ")' – chridam

Antwort

0

Sie haben cursor.toArray() Funktion auf das Ergebnis von find verwenden, um ein Projektions Dokument mit vorstehenden nur _id dh ObjectId() Wert

MongoDB Enterprise > db.users.find().pretty() 
{ 
     "_id" : ObjectId("570e1d465a44f125ef156791"), 
     "name" : "Ritesh Talreja", 
     "age" : 22, 
     "gender" : "M" 
} 
{ 
     "_id" : ObjectId("570e1e1d5a44f125ef156792"), 
     "name" : "Saloni", 
     "age" : 21, 
     "gender" : "F" 
} 
{ 
     "_id" : ObjectId("570e1e485a44f125ef156793"), 
     "name" : "abcd", 
     "age" : 22, 
     "gender" : "M" 
} 
{ 
     "_id" : ObjectId("570e28d45a44f125ef156794"), 
     "name" : "Saloni", 
     "age" : 21, 
     "gender" : "F" 
} 
{ "_id" : 123 } 
MongoDB Enterprise > db.users.find({}, {_id:1}).toArray() 
[ 
     { 
       "_id" : ObjectId("570e1d465a44f125ef156791") 
     }, 
     { 
       "_id" : ObjectId("570e1e1d5a44f125ef156792") 
     }, 
     { 
       "_id" : ObjectId("570e1e485a44f125ef156793") 
     }, 
     { 
       "_id" : ObjectId("570e28d45a44f125ef156794") 
     }, 
     { 
       "_id" : 123 
     } 
] 
MongoDB Enterprise > 

Als Ergänzung können Sie auch:

MongoDB Enterprise > db.users.distinct("_id") 
[ 
     123, 
     ObjectId("570e1d465a44f125ef156791"), 
     ObjectId("570e1e1d5a44f125ef156792"), 
     ObjectId("570e1e485a44f125ef156793"), 
     ObjectId("570e28d45a44f125ef156794") 
] 
MongoDB Enterprise > 
Verwandte Themen