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

Cara membatasi jumlah pembaruan dokumen di mongodb

Anda dapat menggunakan:

db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
    function (e) {
        e.fieldToChange = "blah";
        ....
        db.collection.save(e);
    }
);

(Kredit untuk kode forEach:MongoDB:Memperbarui dokumen menggunakan data dari dokumen yang sama)

Apa yang akan dilakukan adalah hanya mengubah jumlah entri yang Anda tentukan. Jadi jika Anda ingin menambahkan bidang yang disebut "newField" dengan nilai 1 hanya setengah dari entri Anda di dalam "koleksi", misalnya, Anda dapat memasukkan

db.collection.find().limit(db.collection.count() / 2).forEach(
    function (e) {
        e.newField = 1;
        db.collection.save(e);
    }
);

Jika Anda kemudian ingin membuat setengah lainnya juga memiliki "newField" tetapi dengan nilai 2, Anda dapat melakukan pembaruan dengan syarat newField tidak ada:

db.collection.update( { newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true} );


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $bulan

  2. Cara Mencadangkan dan Mengembalikan ClusterControl

  3. Id Mongo mengarah ke URL yang menakutkan

  4. Mongo $in kinerja operator

  5. Secara Otomatis Mematikan Dokumen Koleksi MongoDB