MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara mengurutkan sub-dokumen di bidang array?

MongoDB tidak menyediakan cara untuk melakukan ini di luar kotak, tetapi ada solusi untuk memperbarui dokumen Anda dan menggunakan $sort perbarui operator untuk mengurutkan larik Anda.

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

Anda masih dapat menggunakan .aggregate() caranya seperti ini:

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

Tapi ini kurang efisien jika yang Anda inginkan hanyalah mengurutkan array Anda, dan Anda seharusnya tidak melakukannya.

Anda selalu dapat melakukan sisi klien ini menggunakan .sort atau sorted fungsi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Aplikasi gagal untuk memulai (port 8080) tidak tersedia

  2. Pembaruan MongoDB dengan syarat

  3. Menanyakan setelah diisi di Mongoose

  4. Enkripsi basis data MongoDB

  5. ekspor agregat mongoexport ke file csv