Seit upsert
ist als Vorgang definiert, der "ein neues Dokument erstellt, wenn kein Dokument den Abfragekriterien entspricht " Es gibt keinen Platz für upserts
in insert
Befehl. Es ist eine Option für das update
Befehl. Wenn Sie den Befehl wie unten ausführen, funktioniert dies als update
, wenn es ein Dokument gibt, das mit query
, oder als insert
mit Dokument beschrieben durch update
als Argument
.
db.collection.update(query, update, {upsert: true})
MongoDB 3.2 fügt replaceOne
hinzu
:
db.collection.replaceOne(query, replacement, {upsert: true})
das ein ähnliches Verhalten hat, aber sein replacement
kann keine Aktualisierungsoperatoren enthalten.