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

Vérifiez si l'upsert de MongoDB a fait une insertion ou une mise à jour

Oui, lors d'un appel sécurisé (ou getLastError), la fonction de mise à jour renverra un tableau avec un champ upsert et un champ updatedExisting.

Vous pouvez en lire la version PHP ici :http://php.net/manual/en/mongocollection.insert.php vers le bas.

Comme il est dit dans la documentation sur upserted :

Si une mise à jour s'est produite, ce champ contiendra le champ _id du nouvel enregistrement. Pour les upserts, ce champ ou updatedExisting sera présent (sauf si une erreur s'est produite).

Donc upserted contient le _id du nouvel enregistrement si une insertion a été effectuée ou il incrémentera updatedExisting s'il a mis à jour un enregistrement.

Je suis sûr qu'une chose similaire apparaît dans tous les pilotes.

Modifier

Ce sera en fait un booléen dans le updatedExisting champ de true ou false