sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongodb/Mongoid - vad betyder {:multi => sant}

Dokumentationen för MongoDB-uppdateringsmetoden står följande:

Så i princip multi parametern är det som aktiverar update_all beteende i frågan du länkade till.

Som svar på din andra fråga:ja - Mongoid har den här funktionen inbyggd nu. Dokumentationsreferensen finns här . Men du kan använda det så här:

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

Uppdatera

I det fall du vill skjuta ett värde till ett matrisfält, måste du fortfarande använda MongoDB-biblioteket direkt, eftersom Mongoid update_all Metoden stöder endast $set databasuppdateringsmetod (som kan användas för att uppdatera en hel array, men inte pusha värden på den).

Exemplet i svaret på frågan du länkade till skulle fungera, jag har kopierat det nedan till de som snubblar över den här frågan (tack shingara !):

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


  1. Redis INCRBY med limits

  2. Hur tillhandahåller man paginering på serversidan med NestJS?

  3. MongoDB/Mongoose unik begränsning på datumfält

  4. MongoDB och C#:Skiftlägesokänslig sökning