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

Controlla se l'upsert di MongoDB ha eseguito un inserimento o un aggiornamento

Sì, in una chiamata sicura (o getLastError) la funzione di aggiornamento restituirà un array con un campo upsert e un campo UpdateExisting.

Puoi leggere la versione PHP di questo qui:http://php.net/manual/en/mongocollection.insert.php verso il basso.

Come dice nella documentazione su upserted :

Se si è verificato un upsert, questo campo conterrà il campo _id del nuovo record. Per gli upsert, sarà presente questo campo o UpdateExisting (a meno che non si sia verificato un errore).

Quindi upserted contiene il _id del nuovo record se è stato eseguito un inserimento o aumenterà updatedExisting se ha aggiornato un record.

Sono sicuro che una cosa simile appare in tutti i driver.

Modifica

Sarà effettivamente un booleano in updatedExisting campo di true o false