sql >> Database >  >> NoSQL >> MongoDB

Hoe verschillende sleutels in een object in MongoDB op te halen?

U kunt de nieuwe $objectToArrray gebruiken in 3.4.4 versie om alle sleutel- en waardeparen om te zetten in documentarrays gevolgd door $unwind &$group met $addToSet om verschillende sleutels te krijgen

db.collection.aggregate([{$project: {indexation: {$objectToArray: "$indexation"}}}, {$unwind:"$indexation"}, {$group:{_id:null, keys:{$addToSet:"$indexation.k"}}}])

Voor een lagere versie moet je indexation updaten om eruit te zien zoals hieronder en en gebruik

db.collection.distinct("indexation.k")

 { "_id" : ObjectId("58fb35531eb5df245d5d434f"), "name" : "d1.html", "indexation" : [{ "k" : "Citroen", "v" : 1 }, { "k" : "Marca", "v" : 1 }]}



  1. MongoDB:Update/Upsert vs Invoegen

  2. Heeft iemand MongoDB op Google App Engine geprobeerd?

  3. MongoDB Mongoose selecteert documenten tussen een datumbereik

  4. Hoe wissel ik tussen redis-database?