Documento de atualização do MongoDB

Documento de atualização do MongoDB

Podemos atualizar o documento de coleções do MongoDB usando o método update (). O método update () precisa de uma condição para a instrução de atualização para garantir que apenas os documentos relevantes sejam atualizados. A consulta de atualização leva os dois parâmetros para atualizar o campo dos documentos. O primeiro parâmetro é o valor existente do campo especificado que queremos ser atualizado. O segundo parâmetro é especificado com a palavra -chave $ set necessária para atualizar o valor do próximo documento especificado.

Como atualizar o documento em MongoDB

Antes de usar a consulta de atualização, precisamos da coleção MongoDBB. Criamos a coleção de "produtos" que contém os documentos. Os documentos nos "produtos" são inseridos usando a seguinte consulta:

dB.Produtos.InsertMany ([

_id: 1,
Produto: "Jeans pretos",
Qty: 15,
tamanho médio",
Status: "Disponível",
Preço: 400
,

_id: 2,
Produto: "Camiseta branca",
Qty: 10,
tamanho pequeno",
Status: "não disponível",
Preço: 550
,

_id: 3,
Produto: "Sapatos de neon",
Qty: 5,
tamanho pequeno",
Status: "Disponível",
Preço: 750
,

_id: 4,
Produto: "laços",
Qty: 20,
tamanho grande",
Status: "não disponível",
Preço: 350
,

_id: 5,
Produto: "Camisas formais",
Qty: 17,
tamanho grande",
Status: "Disponível",
Preço: 400

]))

A coleção de “produtos” MongoDB é inserida com sucesso com os documentos definidos anteriormente. A mensagem do documento de inserção é mostrada no seguinte. Agora, podemos aplicar a consulta de atualização nesses documentos.

Exemplo 1: MongoDB atualiza o documento para o mesmo campo

Considere o exemplo em que a consulta de atualização é empregada para atualizar o valor atual com o novo. O método update () é aplicado à coleção de “produtos” do MongoDB. O método update () é passado com a tecla "Produto" cujo valor é definido como "camisas formais" no documento. Queremos atualizar o valor deste campo "Produto" para o qual fornecemos o segundo parâmetro no método update ().

A expressão “$ set: Product:“ Jacket ”” é o segundo parâmetro que define o novo valor para o valor atual. A palavra -chave $ set é utilizada que leva o nome do campo "Produto" e define o valor atualizado de "jaquetas" contra ele. Lembre -se de que os tipos de dados do valor do campo especificado devem ser os mesmos na coleção.

dB.Produtos.Update (Product: "Formal Shirts", $ set: Product: "Jackets")

Na saída, o MatchedCount indica os documentos que correspondem aos critérios e o ModifiedCount mostra o número de documentos atualizados.

Verificamos se o valor é atualizado na coleção. Para isso, chamamos o método find () e inserimos o valor "_id" de "5" do documento atualizado.

dB.Produtos.encontre (_ id: 5)

O valor "Jackets" é atualizado nos documentos, como mostrado no seguinte:

Exemplo 2: o MongoDB atualiza o documento para os diferentes campos

Em seguida, atualizamos o documento com os diferentes campos. Considere a seguinte consulta em que usamos o método update () e forneça a condição dentro dele para atualizar o documento. Aqui, atualizamos o documento que tem o "_id" como "1". Então, o campo _id com o valor é definido como o primeiro parâmetro. Em seguida, temos a palavra -chave $ set que leva o campo "Produto", que recebe um novo valor como "jeans azul".

dB.Produtos.atualizar(
"_id": 1,
$ set: "Product": "Blue Jeans");

Os verdadeiros resultados são gerados com os detalhes de que o valor é atualizado para a chave especificada. O método update () primeiro avalia a condição e define o valor modificado com a palavra -chave $ set.

O valor atualizado da "_id: 1" é verificado na coleção "Produto" aplicando a seguinte consulta:

A saída confirma que o valor "Blue Jean" é atualizado com o "jeans preto" no documento.

Exemplo 3: o MongoDB atualiza o documento para vários campos

Para modificar vários documentos por vez, a consulta do método update () deve ser especificada com várias opções. No exemplo seguinte, consulta, usamos o método update () que insere o campo "_id" cujo valor é "2". Queremos que este documento seja modificado com os novos valores. Em seguida, temos um modificador de US $ definido que atualiza os valores dos dois campos, "tamanho" e "preço", com os valores recém -atribuídos.

dB.Produtos.Update (_id: 2, $ set: "size": "LIGL", "Price": 450)

Os valores para os campos de tamanho e preço são modificados no documento que exibimos executando a consulta de localização no shell.

Exemplo 4: o MongoDB atualiza o documento usando o método updateOne ()

O método updateOne () é outra maneira de atualizar um documento na coleção. Podemos atualizar apenas um documento em uma coleção que atenda aos critérios de pesquisa fornecidos. Mesmo que inúmeros documentos cumpram os critérios, ele apenas atualiza o primeiro. A consulta a seguir usa o método updateOne () para atualizar o documento. Damos a “qty: 17” como critérios de filtro. O método updateOne () encontra o documento cujo "Qty" é "17". Em seguida, o próximo parâmetro define o campo "Status" com o valor "não disponível" usando o operador $ set para atualizar o documento correspondente.

dB.Produtos.updateOne (qty: 17, $ set: status: "não disponível")

A execução desta consulta de atualização confirma que o valor é atualizado no documento correspondente.

Também vemos o documento atualizado executando a consulta de localização.

Exemplo 5: o MongoDB atualiza o documento com o operador $ inc

Todas as consultas de atualização anterior usam o operador $ set para definir os valores atualizados no documento. Mas, o método update () possui vários operadores ao atualizar um documento. Aqui, usamos o operador $ inc para atualizar o documento. O operador $ inc usa o valor aumentado em relação à chave especificada. Damos uma consulta para atualizar o documento com o operador $ inc. O método update () corresponde ao documento cujo campo "Produto" tem o valor "laços" e depois aumentou o valor do campo "Qtd" para "50" com o operador "$ inc".

dB.Produtos.UpdateOne (Product: "Ties", $ inc: qty: 50)

O documento é correspondido e o valor é modificado com sucesso, conforme mostrado na imagem a seguir:

O documento correspondente é pesquisado especificamente para ver o novo valor incrementado, que é atualizado como mostrado na seguinte imagem de saída:

Exemplo 6: o MongoDB atualiza o documento com o operador $ renomear

Agora, usamos o operador de renomear $ do método update (). Este operador atualiza o título de campo do nome atual do campo especificado. Vamos ter a seguinte consulta do método update (). O método update () toma a condição de encontrar o documento do campo "Produto" cujo valor é "laços". Quando o documento é encontrado, o método update () emprega o operador de renomeio $. O operador de renomeio $ leva o nome do campo "Status", que deve ser renomeado junto com o nome modificado do campo "Stock".

dB.Funcionário.Update ("Product": "Ties",
$ rename: "status": "stock")

O campo "Stock" modificado é atualizado no documento especificado no resultado da consulta anterior.

O documento correspondente é pesquisado especificando a consulta que exibe o nome do campo atualizado.

Exemplo 7: o MongoDB atualiza o documento com o operador $ unset

Em seguida, tomamos um exemplo de um operador de $ unset que é usado para eliminar os campos especificados do documento. Na ilustração a seguir, usamos o Operador $ Unset no método Update () que remove os campos "tamanho" e "Qty" do documento cujo "_id" é "4".

dB.produtos.atualizar(
_id: 4,
$ unset: size: "", qty: ""

O documento correspondente é atualizado após a execução da consulta Unset anterior.

Pode ser visto no shell que o documento correspondente foi removido com os campos Unset “Size” e “Qty”.

Conclusão

Este guia do MongoDB explora o método update () que é usado para atualizar o documento. Podemos atualizar os vários campos, invocando o método update () na consulta. Também introduzimos o método updateOne () que apenas atualiza um documento individual. Podemos usar o método updatemany () se formos obrigados a atualizar vários documentos por vez. Além disso, usamos os diferentes operadores do método update () para atualizar o documento de acordo.