MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Verifique se o upsert do MongoDB fez uma inserção ou uma atualização


Sim, existe, em uma chamada segura (ou getLastError) a função de atualização retornará um array com um campo upsert e um campo updatedExisting.

Você pode ler a versão PHP disso aqui:http://php.net/manual/en/mongocollection.insert.php na parte inferior.

Como diz na documentação sobre upserted :

Se ocorrer um upsert, este campo conterá o campo _id do novo registro. Para upserts, este campo ou updatedExisting estarão presentes (a menos que ocorra um erro).

Então upserted contém o _id do novo registro se uma inserção foi feita ou incrementará updatedExisting se ele atualizou um registro.

Tenho certeza de que uma coisa semelhante aparece em todos os drivers.

Editar


Na verdade, será um booleano no updatedExisting campo de true ou false