MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :mettez à jour chaque document sur un seul champ

Quelle que soit la version, pour votre exemple, le <update> est :

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

Cependant, selon votre version de MongoDB, la requête sera différente. Quelle que soit la version, la clé est que la condition vide {} correspondra à n'importe quel document . Dans le shell Mongo, ou avec n'importe quel client MongoDB :

$version>= 3.2 :

db.foo.updateMany( {}, <update> )
  • {} est la condition (la condition vide correspond à n'importe quel document)

3.2 > $version >= 2.2 :

db.foo.update( {}, <update>, { multi: true } )
  • {} est la condition (la condition vide correspond à n'importe quel document)
  • {multi: true} est l'option "mettre à jour plusieurs documents"

$version < 2.2 :

db.foo.update( {}, <update>, false, true )
  • {} est la condition (la condition vide correspond à n'importe quel document)
  • false est pour le paramètre "upsert"
  • true est pour le paramètre "multi" (mettre à jour plusieurs enregistrements)