O que é db.collection.updateOne() no MongoDB?

O Que E Db Collection Updateone No Mongodb



O MongoDB é um poderoso banco de dados não relacional que pode armazenar vários documentos. Às vezes, o usuário pode precisar atualizar um único documento que atenda a determinados critérios. Nesta situação, eles podem usar o “ db.collection.updateOne() ” método, que atualiza e modifica o primeiro documento que atende aos critérios de seleção e o modifica.

O que é o método “db.collection.updateOne()” no MongoDB?

O ' db.collection.updateOne() ” atualiza um único documento que corresponde aos critérios definidos. Se mais de um documento corresponder aos critérios, apenas o primeiro documento será modificado. Ele pode ser usado com operadores de atualização, como “ $ definido ”, “ $ incl ' e muito mais .

Como usar o método “db.collection.updateOne()” no MongoDB?

O ' db.collection.updateOne() ” pode ser utilizado para atualizar um único campo, bem como vários campos de um único documento que correspondam aos critérios de seleção. Além disso, esse método também pode adicionar um campo a um documento e pode ser usado com operadores de atualização. A sintaxe do “ db.collection.updateOne() ” é fornecido abaixo:







Sintaxe Básica



db.collection.updateOne ( { filtro_critérios } , { atualizar } , { opções } )

Aqui na sintaxe acima:



  • Este método atualizará o primeiro documento que atender aos critérios de seleção
  • O ' filtro_critérios ” define os critérios para a atualização
  • O ' atualizar ” contém os campos que serão modificados no documento
  • O ' opções ” é um argumento opcional que modifica o funcionamento deste método, como “ perturbar ' e ' dica

Para esta postagem, usaremos um “ Linuxhint_Col2 ” documentos da coleção para demonstrar o funcionamento do “ db.collection.updateOne() ” método. Para visualizar os documentos armazenados nesta coleção, execute o comando fornecido:





db.Linuxhint_Col2.find ( )

Saída

A saída recuperou todos os documentos armazenados no “ Linuxhint_Col2 ' coleção.



Exemplo 1: atualizar um único campo
Para atualizar o campo único em um documento, defina seus critérios de seleção e atualize os critérios. Os critérios de atualização podem ser definidos usando os operadores de atualização. Vamos executar uma consulta para atualizar o “ Modeling_Fee 'campo para' 18000 ' onde o ' Sobrenome ” objeto é igual a “ Depp ” no documento:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.Last_Name' : 'Depp' } , { $ definido : { Modelagem_Taxa: 18000 } } )

Saída

A saída retornou a mensagem de sucesso.

Para verificar as alterações feitas, recupere o documento afetado usando este “ encontrar() ” comando:

db.Linuxhint_Col2.find ( { 'Model_Name.Last_Name' : 'Depp' } )

Saída

A saída verificou que o documento foi atualizado com sucesso.

Exemplo 2: Adicionar um novo campo usando o método “db.collection.updateOne()”
O ' db.collection.updateOne() ” adiciona um novo campo usando o método “ $ definido ” no documento, caso ainda não exista. Enquanto o ' Experiência ” campo não existe para os documentos onde o “ Modeling_Fee ' é menos do que ' 9000 ”.

Vamos adicionar o novo campo “ Experiência ” com o valor “ Principiante ” no documento onde o “ Modeling_Fee ' é menos do que ' 9000 ” usando esta consulta:

db.Linuxhint_Col2.updateOne ( { 'Modelagem_Taxa' : { $lt : 9000 } } , { $ definido : { 'Experiência' : 'Principiante' } } )

Saída

A saída retorna a mensagem que indica que um documento corresponde aos critérios de seleção e foi modificado com sucesso.

Vamos verificá-lo recuperando todos os documentos disponíveis no acervo “ Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Saída

A saída mostra que um documento que atende à condição foi modificado e um novo campo foi inserido com sucesso.

Exemplo 3: Atualize vários campos de um documento usando o método “db.collection.updateOne()”
O usuário pode modificar vários campos em um único documento mesmo. Aqui, esta consulta fornecida abaixo modificará o sobrenome e a idade do documento onde o “ Primeiro nome ' é igual a ' Noé “:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Noé' } , { $ definido : { 'Model_Name.Last_Name' : 'Corça' , 'Modelo_Idade' : 23 } } )

Saída

A consulta foi executada sem nenhum erro.

Para verificar as alterações, use o método “find()” para recuperar o documento onde o “ Primeiro nome ' é igual a ' Noé :

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Noé' } )

Saída

A saída retornou o documento modificado com sucesso.

Exemplo 4: Use o método “db.collection.updateOne()” com operadores de atualização
Como no exemplo anterior, usamos o “ $ definido ” operador de atualização para modificar os valores no “ db.collection.updateOne() ” método. Vamos tentar usar outro operador de atualização “ $ incl ” que incrementa o campo com o valor especificado.

Aqui na consulta fornecida abaixo, o método busca o documento onde está o “ Primeiro nome ' é igual a ' Kate ” e acrescenta “ 1000 ' no ' Modeling_Fee ” valor do campo:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Kate' } , { $ incl : { Modelagem_Taxa: 1000 } } )

Saída

A saída retornou uma mensagem de sucesso.

Para ver as alterações, use o botão “ encontrar() ” para recuperar o documento afetado:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Kate' } )

Saída

A saída retrata o valor modificado de “ Modeling_Fee ”.

Exemplo 5: Adicionar um novo documento se ele ainda não existir usando o argumento “upsert”
O argumento opcional pode ser usado para alterar o comportamento desse método. Uma dessas opções é “ perturbar ” que adiciona um novo documento se nenhum documento existente atender aos critérios de seleção definidos na consulta.

Vamos tentar adicionar um novo documento definindo os critérios de seleção que não atendem a nenhum documento já existente. Depois disso, defina alguns campos para isso e adicione a opção “ perturbar ” como “true” conforme mostrado no comando fornecido abaixo:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Davi' } , { $ definido : { Modelagem_Taxa: 10000 ,  Modelo_Idade: 23 , 'Model_Name.Last_Name' : 'Smith' } } , { Inserir: verdadeiro } )

Saída

A saída mostrou a mensagem confirmada como verdadeira.

Por fim, verifique sua modificação executando este comando:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Davi' } )

Saída

A saída mostrava que o novo documento foi adicionado com sucesso.

Conclusão

O ' db.collection.updateOne() ” no MongoDB é usado para atualizar o primeiro documento que atende aos critérios de seleção. Ele pode modificar um único ou vários campos em um documento usando os operadores de atualização, como “ $ definido ' e ' $ incl ”. Além disso, esse método também aceita argumentos opcionais para alterar o comportamento do método, como “ perturbar ” que adiciona um novo documento caso os critérios de seleção não correspondam a nenhum documento existente. Este post discutiu o uso do “ db.collection.updateOne() ” no MongoDB.