sql >> Database teknologi >  >> NoSQL >> MongoDB

Tjek, om MongoDB upsert foretog en indsættelse eller en opdatering

Ja, det er der, ved et sikkert opkald (eller getLastError) vil opdateringsfunktionen returnere et array med et upsert-felt og et updatedExisting-felt.

Du kan læse PHP-versionen af ​​denne her:http://php.net/manual/en/mongocollection.insert.php nederst.

Som det står i dokumentationen om upserted :

Hvis der opstod en upsert, vil dette felt indeholde den nye posts _id-felt. For upserts vil enten dette felt eller updatedExisting være til stede (medmindre der opstod en fejl).

Så opsat indeholder _id af den nye post, hvis en indsættelse blev udført, eller den vil øge updatedExisting hvis den opdaterede en post.

Jeg er sikker på, at en lignende ting forekommer i alle drivere.

Rediger

Det vil faktisk være en boolean i updatedExisting felt af true eller false



  1. HDFS-datablok – Lær det interne i Big Data Hadoop

  2. Brug af flere Mongodb-databaser med Meteor.js

  3. Sådan organiserer du et mange til mange forhold i MongoDB

  4. Forespørge array-elementer med Mongo