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

Urutkan array dalam dokumen dengan MongoDB

Saya melihat masalahnya. Orang-orang mencari dan menemukan jawaban stackoverflow ini:

Itu salah, karena tidak pernah "merekonstruksi" array.

Anda melakukannya dengan $group dan $push , dan karena Anda mengelompokkan, Anda akan menginginkan $first untuk bidang lain dalam dokumen yang Anda inginkan:

db.TrafficStatistic.aggregate([
   { "$unwind": "$statistic" },
   { "$sort": { "_id": 1, "statistic.data.desktop.users": 1 } },
   { "$group": {
       "_id": "$_id",
       "monthStart" : { "$first": "$monthStart" },
       "monthEnd" : { "$first": "$monthEnd" },
       "date" : { "$first": "$date" },
       "statistic": { "$push": "$statistic" }
   }}
])

Perhatikan juga $sort diterapkan ke "_id" dan bidang lainnya untuk diurutkan. Ini agar penyortiran diterapkan per dokumen dan penting ketika detail dokumen disatukan kembali di $group .

Sekarang dokumen terlihat sama seperti sebelumnya, tetapi kali ini anggota array diurutkan.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana menghubungkan ke mongoDB Atlas menggunakan luwak

  2. Apa cara terbaik untuk mengautentikasi dan mengotorisasi solusi web dan api seperti MERN Stack?

  3. Bagaimana cara mengumpulkan data berdasarkan hari, minggu, bulan dalam minggu, bulan, tahun yang sesuai masing-masing di mongodb

  4. Node.js dan MongoDB, menggunakan kembali objek DB

  5. ECONNREFUSED kesalahan saat menghubungkan ke mongodb dari node.js