Nos bancos de dados, há cenários em que você precisa atualizar o nome de um campo em um documento existente sem recriar todo o documento.
Neste post, discutiremos como usar o operador de renomear $ para definir um novo nome para um campo existente.
Vamos pular.
Sintaxe do operador
A seguir, mostra a sintaxe do operador $ renomeado em MongoDB:
$ renomear:: , :
O operador pega um campo existente e atribui um novo nome especificado.
O nome de destino deve diferir do nome da fonte. Você pode usar a notação de pontos para renomear um campo em um documento incorporado ou uma matriz.
Vejamos um exemplo prático simples para entender melhor como o operador de renomeio $ funciona.
Exemplo prático
Vamos começar criando uma coleção de amostras e adicione documentos de amostra, como mostrado na consulta a seguir:
dB.CreateCollection ("Produtos")
Adicione documentos de amostra:
dB.produtos.insertMany ([_id: 1, product_name: "product_1", preço: 100, qty: 78, _id: 2, product_name: "product_2", preço: 4500, qty: 344, _id: 3, product_name: "Product_3", Preço: 45, Qty: 200]);
Agora que temos dados de teste, podemos prosseguir e discutir como renomear um campo.
Exemplo 1: renomeie um campo usando o operador $ renomear
O exemplo a seguir mostra como usar o operador $ renomear para atualizar o nome do campo "Qty" para "quantidade".
dB.produtos.updatemany (, $ renome: "qty": "quantity")
O comando deve retornar o status de reconhecimento e o número de documentos atualizados.
reconhecido: verdadeiro,
inserdId: nulo,
MatchedCount: 3,
ModifiedCount: 3,
UPSERTEDCOUNT: 0
Podemos verificar os documentos para verificar se o nome do campo especificado foi atualizado.
Teste> dB.produtos.encontrar().bonito()
Documentos de saída:
[[
_id: 1, Product_name: 'Product_1', Preço: 400, Quantidade: 7800,
_id: 2, product_name: 'product_2', preço: 4500, quantidade: 344,
_id: 3, product_name: 'product_3', preço: 45, quantidade: 200
]
Exemplo 2: renomeie um campo inexistente
Se usarmos o operador $ renomear para renomear um campo existente, o operador não faz nada e existe sem um erro.
Um exemplo é como mostrado no seguinte:
dB.alunos.updatemany (_id: 1, $ renome: 'wife': 'spouse')
O comando anterior está simplesmente concluído sem executar nenhuma ação.
Conclusão
Neste post, exploramos como renomear um campo existente em um documento MongoDB usando o operador $ renomear.
Obrigado pela leitura!