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

Bagaimana cara menyimpan array yang diurutkan kembali ke MongoDB?

Rilis 2.4 dari MongoDB menyediakan opsi lain di sini, yaitu untuk menjaga bidang array dalam urutan yang diurutkan saat Anda memperbaruinya dengan menggunakan $sort pengubah.

db.collection.update({_id: document_id}, {
    $push: {
        myarray: {
            $each: [{timestamp: 456, x: 1}, {timestamp: 123, x: 2}, ...],
            $sort: {timestamp: 1}
        }
    }
});

Ini akan menghasilkan elemen myarray bidang dokumen yang diperbarui untuk disimpan diurutkan berdasarkan timestamp . naik .

Jika Anda hanya ingin mengurutkan elemen yang ada di tempatnya tanpa menambahkan yang baru, gunakan $each: [] :

db.collection.update({_id: document_id}, {
    $push: {
        myarray: {
            $each: [],
            $sort: {timestamp: 1}
        }
    }
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana membuat bidang array baru dengan kerangka agregat

  2. kueri mongo - mendapatkan objek tertentu (`_id`-nya diketahui) dari array objek TAPI array ini juga merupakan bagian dari daftar dokumen

  3. Penanganan yang benar dari tindakan async Mongo di Node Promise

  4. Mengapa skema saya tidak menambahkan nilai default dalam array luwak?

  5. Mengonversi daftar R ke JSON