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

Qual é a diferença entre salvar e inserir no Mongo DB?


Salvar x Inserir:

Em seus exemplos dados, o comportamento é essencialmente o mesmo.

save se comporta de maneira diferente se for passado com um parâmetro "_id".

Para salvar, se o documento contiver _id , ele fará um upsert consultando a coleção no _id campo, se não, ele irá inserir.

Se não existir um documento com o valor _id especificado, o método save() realiza uma inserção com os campos especificados no documento.

Se existir um documento com o valor _id especificado, o método save() realizará uma atualização, substituindo todos os campos do registro existente pelos campos do documento.

Salvar x Atualizar :

update modifica um documento existente que corresponda aos seus parâmetros de consulta. Se não houver tal documento correspondente, é quando upsert vem na foto.
  • upsert : false :Nada acontece quando esse documento não existe
  • upsert : true :Novo documento é criado com conteúdo igual aos parâmetros de consulta e parâmetros de atualização

save :não permite nenhum parâmetro de consulta. se _id existe e existe um documento correspondente com o mesmo _id , ele o substitui. Quando nenhum _id especificado/nenhum documento correspondente, ele insere o documento como um novo.