MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak ograniczyć liczbę aktualizacji dokumentów w mongodb

Możesz użyć:

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

(Kredyty dla kodu forEach:MongoDB:Aktualizacja dokumentów przy użyciu danych z tego samego dokumentu)

Spowoduje to zmianę tylko określonej liczby wpisów. Jeśli więc chcesz dodać pole o nazwie „newField” o wartości 1 tylko do połowy swoich wpisów w „collection”, możesz na przykład umieścić

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

Jeśli chcesz, aby druga połowa również miała „newField”, ale z wartością 2, możesz wykonać aktualizację pod warunkiem, że newField nie istnieje:

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. Zapobieganie wstrzykiwaniu JavaScript NoSQL w MongoDB

  2. MongoDB jako baza danych szeregów czasowych

  3. Mongoose nie może połączyć się bez Internetu

  4. Zmniejszenie rozmiaru pliku bazy danych MongoDB

  5. render_template z wieloma zmiennymi