MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie aktualisiere ich MongoDB-Dokumentfelder nur, wenn sie nicht vorhanden sind?

Sie können Ihrer Update-Anweisung eine Abfrage hinzufügen:

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

Aktualisieren

Für Ihre modifizierte Frage sieht meine Lösung so aus - würde das für Sie funktionieren? (Wenn nicht, warum?)

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})