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

Comment mettre à jour les champs de document MongoDB uniquement s'ils n'existent pas ?

Vous pouvez ajouter une requête à votre déclaration de mise à jour :

db.foo.update({'title.de': {$exists : false}}, {$set: {'title.de': ''}})

Mettre à jour

Pour votre question modifiée, ma solution ressemble à ceci - cela fonctionnerait-il pour vous ? (Si non, pourquoi ?)

db.foo.update({site_id: 'xxx', 'title.de': {$exists : false}}, {$set: {'title.de': ''}, {multi: true})
db.foo.update({site_id: 'xxx', 'content.de': {$exists : false}}, {$set: {'content.de': ''}}, {multi: true})