Skip to content

Instantly share code, notes, and snippets.

@luizpicolo
Last active April 23, 2025 18:51
Show Gist options
  • Save luizpicolo/d9fe3d5f8480545ea9bcc92ac88d6f4b to your computer and use it in GitHub Desktop.
Save luizpicolo/d9fe3d5f8480545ea9bcc92ac88d6f4b to your computer and use it in GitHub Desktop.

1. Instale o mongoose

No terminal, execute:

npm install mongoose

2. Crie o arquivo de configuração do Mongoose

Crie um arquivo chamado db.js na raiz do projeto para conectar ao MongoDB:

const mongoose = require('mongoose');

const mongoURI = 'mongodb://localhost:27017/expressjs-mongodb'; // ajuste conforme necessário

mongoose.connect(mongoURI, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'Erro de conexão ao MongoDB:'));
db.once('open', () => {
  console.log('Conectado ao MongoDB');
});

module.exports = mongoose;

3. Importe a conexão no seu app

No início do seu arquivo app.js, importe a configuração do banco:

// ...existing code...
require('./db');
// ...existing code...

Para adicionar a configuração de um modelo no seu projeto usando Mongoose, você pode seguir os passos abaixo. Vamos criar um modelo simples para um recurso, como "Usuário".

4. Crie um modelo

Crie um diretório chamado models na raiz do seu projeto e, dentro dele, crie um arquivo chamado User.js. O conteúdo desse arquivo será o seguinte:

const mongoose = require('mongoose');

// Definindo o esquema do usuário
const userSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true,
  },
  email: {
    type: String,
    required: true,
    unique: true,
  },
  password: {
    type: String,
    required: true,
  },
  createdAt: {
    type: Date,
    default: Date.now,
  },
});

// Criando o modelo
const User = mongoose.model('User', userSchema);

module.exports = User;

5. Usando o modelo no seu app

Agora que você tem um modelo de usuário configurado, você pode usá-lo em seu app.js ou em qualquer outro arquivo do seu projeto. Aqui está um exemplo de como você pode criar um novo usuário:

// ...existing code...
const User = require('./models/User');

// Exemplo de rota para criar um novo usuário
app.post('/users', async (req, res) => {
  const { name, email, password } = req.body;

  const newUser = new User({
    name,
    email,
    password,
  });

  try {
    const savedUser = await newUser.save();
    res.status(201).json(savedUser);
  } catch (error) {
    res.status(400).json({ message: error.message });
  }
});
// ...existing code...

6. Testando a criação de um usuário

Para testar a criação de um usuário, você pode usar uma ferramenta como Postman ou Insomnia. Faça uma requisição POST para http://localhost:3000/users (ou a porta que você estiver usando) com um corpo JSON como este:

{
  "name": "João Silva",
  "email": "[email protected]",
  "password": "senha123"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment