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

Como atualizar documentos existentes no MongoDB


O MongoDB foi desenvolvido pela primeira vez em 2007 por Dwight Merriman e Eliot Horowitz quando eles tiveram problemas de escalabilidade com bancos de dados relacionais enquanto desenvolviam aplicativos da Web corporativos em sua empresa, conhecida como DoubleClick. De acordo com um dos desenvolvedores, seu nome foi derivado da palavra humongous para apoiar a ideia de processar uma grande quantidade de dados.

O banco de dados tornou-se um projeto de código aberto em 2009, enquanto a empresa oferecia serviços de suporte comercial. Muitas empresas adotaram o MongoDB por causa de seus recursos exclusivos. Uma dessas empresas foi o jornal The New York Times, e eles usaram esse banco de dados para construir um aplicativo baseado na web para enviar as fotos. No ano de 2013, a DoubleClick renomeou oficialmente MongoDB Inc.

Componentes do MongoDB


Os componentes principais do MongoDB e seu uso incluem:
  • Coleções – Suas contrapartes RDBMS são tabelas. Eles são um conjunto de documentos do MongoDB
  • Documento – Sua contraparte RDBMS é Row. Esta é uma coleção de dados armazenados no formato BSON
  • Campo – Este é um único elemento em um documento MongoDB que contém valores como campos e pares de valores.

Armazenamento baseado em documentos


Um documento é uma estrutura de dados com pares nome-valor como JSON, e é fácil mapear qualquer objeto personalizado de qualquer linguagem de programação com um documento MongoDB. Por exemplo, um Aluno objeto tem atributos como nome, id de estudante, e assuntos onde os assuntos são uma Lista. Um documento para Estudantes no MongoDB terá a seguinte aparência:
{
Name: "Michael",
Studentid: 1
Subjects: ["Mathematics, English, Geography"]}

Você notará que os documentos são representações JSON de objetos personalizados da representação acima. Além disso, JOINS excessivos são evitados salvando dados na forma de Arrays e documentos (Incorporados) dentro de um documento.

Atualizando documentos no MongoDB


O MongoDB fornece uma atualização () comando usado para atualizar os documentos de uma coleção. Os parâmetros básicos no comando são uma condição para a qual um documento precisa ser atualizado e a modificação que precisa ser realizada. Um usuário pode adicionar critérios à instrução de atualização para atualizar apenas documentos selecionados. O exemplo abaixo mostra como é feita a atualização de um único valor em um documento:
  • Insira o updateOne comando.
  • Escolha a condição a ser usada para decidir qual documento será atualizado. Por exemplo, atualizaremos um documento com o autor e o artigo.
  • Use o conjunto comando para modificar o nome do campo, escolha o nome do campo que deseja alterar e insira o novo valor conforme mostrado abaixo:
db.fossdb.updateOne(
{ item: "article" },
{
$set: { "foss": "fosslinux", author: "Abraham" },
$currentDate: { lastModified: true }
}
)

Saída:

Observação: certifique-se de selecionar o banco de dados correto usando o comando “use”. Por exemplo, estou usando “fossdb”; portanto, para escolher o banco de dados adequado, executarei o comando abaixo:
use fossdb

Saída:

A saída mostrará que um registro correspondeu à condição e, portanto, o valor do campo relevante no documento é modificado.

Para atualizar documentos em massa simultaneamente no MongoDB, um usuário precisará usar uma opção múltipla, pois, por padrão, apenas um documento é modificado por vez. O código abaixo mostra como um usuário pode atualizar vários documentos ao mesmo tempo:
  • Primeiro encontraremos o documento que tem o autor como “Abraham” e mudaremos o nome do autor de “Abraham” para “Masai”. Em seguida, emitiremos o updateMany comando.
  • Em seguida, escolha a condição para decidir qual documento deve ser modificado. Conforme mencionado anteriormente, usaremos o documento com o nome "Autor".
  • Escolha os nomes dos campos que você deseja atualizar e insira os novos valores de acordo.
db.fossdb.updateMany(
{ "articles": { $lt: 50 } },
{
$set: { "foss": "fosslinux", authors: "Masai" },
$currentDate: { lastModified: true }
}
)

Saída:

Após executar este comando com sucesso, a saída mostra que um registro correspondeu à condição e, portanto, o campo relevante foi modificado.

Por que os usuários devem optar pelo MongoDB


A seguir estão as razões pelas quais os usuários devem começar a usar o MongoDB:

Orientado a documentos


Como esse banco de dados é um banco de dados do tipo NoSQL, os dados são armazenados em documentos em vez de ter dados em um formato de tipo relacional. Isso torna esse banco de dados muito flexível e adaptável a situações e requisitos do mundo real.

Consultas ad hoc


Pesquisas por campo, consultas e expressões regulares são suportadas no MongoDB; portanto, as consultas podem ser feitas para trazer de volta campos específicos nos documentos.

Indexação


Os índices no MongoDB são criados para melhorar o desempenho das pesquisas no banco de dados.

Balanceamento de carga


O MongoDB usa fragmentação para dimensionar horizontalmente dividindo dados em várias instâncias do MongoDB.

Replicação


Esse banco de dados fornece alta disponibilidade com conjuntos de réplicas. Cada conjunto de réplicas consiste em duas ou mais instâncias do MongoDB. Um membro do conjunto de réplicas pode atuar na função de réplica primária ou secundária a qualquer momento. A réplica primária é o servidor central que interage com o cliente e executa todas as operações de leitura/gravação. Por outro lado, a réplica secundária mantém uma cópia da réplica primária usando dados de replicação internos.

Modelagem de dados no MongoDB


Da discussão acima, os dados no Mongo DB têm um esquema flexível. As coleções do MongoDB não impõem a estrutura do documento, ao contrário dos bancos de dados SQL, onde um usuário deve declarar o esquema de uma tabela antes de inserir os dados. Esse tipo de flexibilidade é o que torna o MongoDB tão poderoso.

Ao modelar dados no MongoDB, os usuários devem ter em mente o seguinte:
  • Padrões de recuperação de dados – em caso de uso intenso de consultas, os usuários devem considerar o uso de índices em seus modelos de dados para melhorar a eficiência da consulta.
  • Necessidades do aplicativo – um usuário deve observar as necessidades de negócios do aplicativo e ver quais dados e tipos de dados são necessários para o aplicativo.
  • O banco de dados está sendo modificado com frequência? – os usuários terão que reconsiderar o uso de índices ou incorporar fragmentação, se necessário, em seu design de modelagem de dados para melhorar a eficiência de seu ambiente MongoDB geral.

Conclusão


Este artigo fez uma breve análise do MongoDB, um banco de dados viral no mercado hoje. Além disso, explicou como atualizar documentos existentes no MongoDB. Esperamos que este artigo ajude você a entender melhor o MongoDB. Em caso de qualquer problema, entre em contato conosco através da seção de comentários, e nós entraremos em contato com você.