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

MongoDB:Memperbarui dokumen menggunakan data dari dokumen yang sama

Pembaruan: Jika Anda hanya perlu mengubah struktur dokumen tanpa mengubah nilainya, lihat jawaban gipset untuk solusi yang bagus.

Menurut komentar (sekarang tidak tersedia) di halaman dokumentasi Pembaruan, Anda tidak dapat mereferensikan properti dokumen saat ini dari dalam update() .

Anda harus mengulangi semua dokumen dan memperbaruinya seperti ini:

db.events.find().snapshot().forEach(
  function (e) {
    // update document, using its own properties
    e.coords = { lat: e.lat, lon: e.lon };

    // remove old properties
    delete e.lat;
    delete e.lon;

    // save the updated document
    db.events.save(e);
  }
)

Fungsi seperti itu juga dapat digunakan dalam pekerjaan pengurangan peta atau db.eval() sisi server pekerjaan, tergantung kebutuhan Anda.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Jatuhkan Koleksi

  2. Memeriksa Koneksi ke MongoDB

  3. Dapatkan data dari koleksi b tidak dalam koleksi a dalam kueri shell MongoDB

  4. Node js batas populasi luwak

  5. Menganalisis Kueri Lambat di MongoDB