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

Jak sortować dokumenty podrzędne w polu tablicy?

MongoDB nie zapewnia sposobu na zrobienie tego po wyjęciu z pudełka, ale istnieje obejście, które polega na zaktualizowaniu dokumentów i użyciu $sort operator aktualizacji, aby posortować tablicę.

db.collection.update_many({}, {"$push": {"topics": {"$each": [], "$sort": {"weight": -1}}}})

Nadal możesz używać .aggregate() metoda taka:

db.collection.aggregate([
    {"$unwind": "$topics"}, 
    {"$sort": {"_id": 1, "topics.weight": -1}}, 
    {"$group": {"_id": "$_id", "topics": {"$push": "$topics"}}}
])

Ale jest to mniej wydajne, jeśli wszystko, czego potrzebujesz, to posortowanie tablicy, i zdecydowanie nie powinieneś tego robić.

Zawsze możesz zrobić tę stronę klienta za pomocą .sort lub sorted funkcja.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wizualne zarządzanie dokumentami i kolekcjami MongoDB

  2. Jak sformatować datę w MongoDB

  3. MongoDB $miesiąc

  4. Wskazówki dotyczące aktualizacji serwera Percona do MongoDB

  5. Kompilacje indeksu MongoDB — zapobieganie uruchamianiu nowych kompilacji przez użytkowników