MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak pobrać różne klucze wewnątrz obiektu w MongoDB?

Możesz użyć nowego $objectToArrray w 3.4.4 wersja do konwersji wszystkich par klucz i wartość na tablice dokumentów, a następnie $unwind &$group z $addToSet aby uzyskać różne klawisze

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

W przypadku niższej wersji musisz zaktualizować indexation wyglądać jak poniżej i używać

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

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB i Meteor - Zapytanie do wypchnięcia do zagnieżdżonej tablicy nie działa, nie zgłoszono żadnego błędu

  2. czy jakiekolwiek ORM mongodb pozwalają na aliasowanie pól?

  3. Wiele warunków przyłączenia za pomocą operatora $lookup

  4. Mongoose - Błąd wersji:Nie znaleziono pasującego dokumentu dla id

  5. Jak połączyć MongoDB z PowerShellem?