sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB:uppdatera varje dokument på ett fält

Oavsett version, till exempel <update> är:

{  $set: { lastLookedAt: Date.now() / 1000 }  }

Men beroende på din version av MongoDB kommer frågan se annorlunda ut. Oavsett version är nyckeln att det tomma villkoret {} kommer att matcha alla dokument . I Mongo-skalet, eller med valfri MongoDB-klient:

$version>=3.2:

db.foo.updateMany( {}, <update> )
  • {} är villkoret (det tomma villkoret matchar alla dokument)

3.2> $version>=2.2:

db.foo.update( {}, <update>, { multi: true } )
  • {} är villkoret (det tomma villkoret matchar alla dokument)
  • {multi: true} är alternativet "uppdatera flera dokument"

$version <2.2:

db.foo.update( {}, <update>, false, true )
  • {} är villkoret (det tomma villkoret matchar alla dokument)
  • false är för parametern "upsert"
  • true är för parametern "multi" (uppdatera flera poster)


  1. Är det möjligt att casta i en MongoDB-Query?

  2. MongoDB $setOnInsert

  3. Hur beställer MongoDB sina dokument i en samling?

  4. Få en räkning av totala dokument med MongoDB när du använder limit