No terminal, execute:
npm install 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;
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".
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;
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...
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"
}