Introdução ao MongoDB
O MongoDB é um sistema de gerenciamento de banco de dados NoSQL (não relacional) de código aberto que armazena dados em formato de documento JSON (BSON, uma representação binária JSON). Ele é desenvolvido pela MongoDB Inc. e é projetado para lidar com grandes volumes de dados, proporcionando flexibilidade e escalabilidade.
Principais Conceitos do MongoDB:
Banco de Dados: No MongoDB, os dados são organizados em bancos de dados, que são contêineres físicos para coleções. Cada banco de dados tem seu próprio conjunto de arquivos no sistema de arquivos.
Coleções: Uma coleção é um grupo de documentos no MongoDB, similar a uma tabela em bancos de dados relacionais. No entanto, as coleções não impõem um esquema fixo, o que significa que diferentes documentos em uma coleção podem ter campos diferentes.
Documentos: Os documentos são representações de dados no MongoDB, similares a objetos JSON. Eles são armazenados em formato BSON (Binary JSON). Documentos em uma coleção não precisam ter a mesma estrutura ou campos.
Campos: Cada documento MongoDB possui um conjunto de campos-chave e valores. Campos podem conter valores de diferentes tipos de dados, incluindo strings, números, booleanos, arrays e até mesmo outros documentos.
_id: Todos os documentos em uma coleção MongoDB devem ter um campo especial chamado
_id
. Este campo é único para cada documento na coleção e é usado como um identificador exclusivo.
Exemplo de Operações Básicas no MongoDB:
Conectar ao Banco de Dados:
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://<username>:<password>@cluster.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
const collection = client.db("mydb").collection("mycollection");
// Operações no banco de dados aqui
client.close();
});
Inserir Documento na Coleção:
const document = { key: "value", number: 42 };
collection.insertOne(document, function(err, res) {
if (err) throw err;
console.log("Documento inserido com sucesso");
});
Consultar Documentos na Coleção:
collection.find({ key: "value" }).toArray(function(err, result) {
if (err) throw err;
console.log(result);
});
Atualizar Documento na Coleção:
const query = { key: "value" };
const newValues = { $set: { key: "newvalue" } };
collection.updateOne(query, newValues, function(err, res) {
if (err) throw err;
console.log("Documento atualizado com sucesso");
});
Remover Documento da Coleção:
const query = { key: "value" };
collection.deleteOne(query, function(err, obj) {
if (err) throw err;
console.log("Documento deletado com sucesso");
});
O MongoDB é uma ferramenta poderosa para armazenar dados sem uma estrutura fixa e é especialmente útil em situações onde os requisitos de dados podem mudar frequentemente ou quando você precisa lidar com grandes volumes de dados de forma escalável. Ele é amplamente utilizado em aplicações modernas da web e móveis.