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

Überprüfen Sie, ob MongoDB-Upsert eine Einfügung oder Aktualisierung durchgeführt hat

Ja, bei einem sicheren Aufruf (oder getLastError) gibt die Update-Funktion ein Array mit einem Upsert-Feld und einem updatedExisting-Feld zurück.

Sie können die PHP-Version davon hier lesen:http://php.net/manual/en/mongocollection.insert.php weiter unten.

Wie es in der Dokumentation zu upserted steht :

Wenn ein Upsert aufgetreten ist, enthält dieses Feld das _id-Feld des neuen Datensatzes. Bei Upserts ist entweder dieses Feld oder updatedExisting vorhanden (es sei denn, es ist ein Fehler aufgetreten).

Also upsert enthält die _id des neuen Datensatzes, wenn eine Einfügung durchgeführt wurde, oder es wird updatedExisting erhöht wenn es einen Datensatz aktualisiert hat.

Ich bin sicher, dass in allen Treibern etwas Ähnliches auftaucht.

Bearbeiten

Es wird tatsächlich ein boolescher Wert in updatedExisting sein Feld true oder false