sql >> Database >  >> NoSQL >> MongoDB

Mongodb/Mongoid - wat betekent {:multi => true}?

De documentatie voor de MongoDB-updatemethode vermeldt het volgende:

Dus eigenlijk de multi parameter is wat de update_all . inschakelt gedrag in de vraag waarnaar u linkt.

In antwoord op je tweede vraag:ja - Mongoid heeft deze functie nu ingebouwd. De documentatiereferentie is hier . Maar je kunt het als volgt gebruiken:

User.where(:gender => "Male").update_all(:title => "Mr")

Bijwerken

In het geval dat u een waarde naar een arrayveld wilt pushen, moet u nog steeds de MongoDB-bibliotheek rechtstreeks gebruiken, aangezien de Mongoid update_all methode ondersteunt alleen de $set database-updatemethode (die kan worden gebruikt om een ​​hele array bij te werken, maar er geen waarden op te pushen).

Het voorbeeld in het antwoord op de vraag waarnaar je linkte zou werken, ik heb het hieronder gekopieerd voor degenen die deze vraag tegenkomen (bedankt shingara !):

User.collection.update( 
  {'$in' => {:gender => 'Male'}}, 
  {'$push' => {:titles => 'Mr'}},
  {:multi => true}
)


  1. Is er een blokkerende redis-bibliotheek voor node.js?

  2. hoe te controleren of een veld bestaat in een specifiek document Mongodb met behulp van C#?

  3. Alle collecties in een mongo-database weergeven in een nodejs-script

  4. Bereken het aantal geneste objecten met C#