Mongoose para JavaScript (Node.js): guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Mongoose e para que serve?

\n\n

Mongoose é uma biblioteca Object Data Modeling (ODM) para MongoDB e Node.js. Ela fornece uma maneira poderosa, baseada em esquemas, de modelar os dados da sua aplicação. Se você trabalha com MongoDB no ambiente Node.js, Mongoose é o padrão de facto para gerenciamento de dados.

\n\n

Para que serve? MongoDB é um banco de dados NoSQL que armazena dados em documentos semelhantes a JSON. Diferente dos bancos de dados relacionais, ele não exige um esquema rígido. Isso oferece flexibilidade, mas pode levar ao caos em projetos grandes. Mongoose resolve esse problema adicionando uma camada de abstração que:

\n\n
    \n
  • Define esquemas (Schemas): Você descreve a estrutura dos seus documentos: quais campos existem, seus tipos, valores padrão e se são obrigatórios.
  • \n
  • Valida dados: Antes de salvar no banco de dados, Mongoose verifica se os dados correspondem ao seu esquema. Isso impede a gravação de dados "inválidos".
  • \n
  • Fornece métodos convenientes: Em vez de escrever consultas brutas para MongoDB, você usa métodos intuitivos como .find(), .create(), .updateOne().
  • \n
  • Gerencia relacionamentos: Você pode facilmente relacionar documentos de diferentes coleções (por exemplo, um usuário e seus pedidos) usando populate().
  • \n
  • Middleware (hooks): Permite executar código antes ou depois de operações específicas (por exemplo, hash de senha antes de salvar).
  • \n
\n\n

Em palavras simples: Mongoose é uma "ponte" entre seu código JavaScript e o MongoDB, tornando o trabalho com o banco de dados estruturado, seguro e conveniente.

\n\n

Instalação do Mongoose

\n\n

A instalação do Mongoose no seu projeto Node.js é feita através do npm (Node Package Manager). Certifique-se de ter Node.js e npm instalados.

\n\n

Abra o terminal na raiz do seu projeto e execute o comando:

\n\n
npm install mongoose
\n\n

Este comando instalará a versão estável mais recente do Mongoose e a adicionará ao seu arquivo package.json na seção dependencies.

\n\n

Você também precisará de um servidor MongoDB instalado e em execução. Pode instalá-lo localmente ou usar um serviço em nuvem como o MongoDB Atlas.

\n\n

Início rápido com exemplo de código

\n\n

Vamos criar uma aplicação simples que se conecta ao MongoDB e salva informações de um usuário.

\n\n
    \n
  1. Conectando Mongoose ao banco de dados:
  2. \n
\n\n
// app.js\nconst mongoose = require('mongoose');\n\n// String de conexão ao MongoDB (substitua 'mydatabase' pelo nome do seu BD)\nconst mongoURI = 'mongodb://localhost:27017/mydatabase';\n\nmongoose.connect(mongoURI)\n  .then(() => console.log('Conectado ao MongoDB com sucesso!'))\n  .catch(err => console.error('Erro de conexão:', err));
\n\n
    \n
  1. Definindo esquema e modelo:
  2. \n
\n\n
// Definindo o esquema (Schema) para o usuário\nconst userSchema = new mongoose.Schema({\n  name: { type: String, required: true },\n  email: { type: String, required: true, unique: true },\n  age: { type: Number, default: 18 }\n});\n\n// Criando o modelo (Model) baseado no esquema\nconst User = mongoose.model('User', userSchema);
\n\n
    \n
  1. Criando e salvando um documento:
  2. \n
\n\n
async function createUser() {\n  try {\n    // Criando uma instância do modelo\n    const newUser = new User({\n      name: 'João Silva',\n      email: 'joao@example.com',\n      age: 30\n    });\n\n    // Salvando o usuário no banco de dados\n    const savedUser = await newUser.save();\n    console.log('Usuário salvo:', savedUser);\n  } catch (error) {\n    console.error('Erro ao salvar                    

Recommendations