O MongoDB é um banco de dados NoSQL orientado a documentos, que oferece alta performance, alta disponibilidade e fácil escalabilidade. Ele trabalha com o conceito de Coleções e Documentos. As Coleções são equivalentes às tabelas em bancos de dados relacionais, enquanto os Documentos são equivalentes às linhas. No entanto, a estrutura de um Documento é mais flexível que a de uma linha, pois cada Documento pode ter sua própria estrutura.
8.4. Inserindo documentos no MongoDB
Para começar a trabalhar com MongoDB, é importante entender a estrutura de seus documentos. Em MongoDB, os documentos são estruturados em um formato chamado BSON, que é uma representação binária de JSON. Cada documento é composto por pares de campos e valores.
Um exemplo de documento em MongoDB pode ser:
{ "_id": ObjectId("5099803df3f4948bd2f98391"), "nome": "João", "idade": 25, "profissao": "Engenheiro de Software" }
Os campos em um documento são como colunas em uma tabela de banco de dados relacional. O valor pode ser vários tipos diferentes, incluindo outro documento, uma matriz de documentos e uma matriz de valores. O campo "_id" é um campo especial que é automaticamente adicionado por MongoDB para cada documento, se você não fornecer um. Ele deve ser único para cada documento em uma coleção.
Para inserir um documento em uma coleção, usamos o método "insertOne()" se quisermos inserir um único documento, ou "insertMany()" se quisermos inserir vários documentos de uma vez. Aqui está um exemplo de como inserir um documento:
db.collection('usuarios').insertOne({ nome: "João", idade: 25, profissao: "Engenheiro de Software" })
Se a operação for bem-sucedida, o MongoDB retornará um objeto que inclui o status da operação e o "_id" do documento inserido.
Para inserir vários documentos, podemos passar uma matriz de documentos para o método "insertMany()". Aqui está um exemplo:
db.collection('usuarios').insertMany([ { nome: "Maria", idade: 30, profissao: "Designer" }, { nome: "Pedro", idade: 20, profissao: "Estudante" } ])
Se a operação for bem-sucedida, o MongoDB retornará um objeto que inclui o status da operação e os "_id"s dos documentos inseridos.
Os documentos em MongoDB são muito flexíveis. Eles não precisam ter a mesma estrutura, o que significa que diferentes documentos em uma mesma coleção podem ter conjuntos diferentes de campos. Esta é uma das grandes vantagens do MongoDB sobre os bancos de dados relacionais, pois permite que você armazene dados que são estruturalmente diversos.
Por exemplo, um documento em nossa coleção de "usuarios" pode ter um campo adicional "hobbies", enquanto outro documento não tem:
{ "_id": ObjectId("5099803df3f4948bd2f98392"), "nome": "Ana", "idade": 27, "profissao": "Analista de Sistemas", "hobbies": ["Leitura", "Cinema", "Correr"] }
Esta flexibilidade torna o MongoDB uma excelente escolha para lidar com dados semi-estruturados e não estruturados.
Em resumo, a inserção de documentos no MongoDB é uma operação simples e direta. A estrutura flexível dos documentos torna o MongoDB uma ferramenta poderosa para lidar com uma ampla variedade de dados.