在路由器文件中使用mongoose集合,需要按照以下步骤进行操作:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
console.log('Database connected');
})
.catch((error) => {
console.error('Database connection error:', error);
});
这里的连接字符串示例是连接本地的MongoDB数据库,端口号为27017,数据库名称为mydatabase。你可以根据实际情况修改连接字符串。
const userSchema = new mongoose.Schema({
name: String,
age: Number,
email: String
});
const User = mongoose.model('User', userSchema);
这里的示例代码定义了一个名为User的集合模型,包含了name、age和email三个字段。
router.get('/users', (req, res) => {
User.find()
.then((users) => {
res.json(users);
})
.catch((error) => {
console.error('Error:', error);
res.status(500).json({ error: 'Internal server error' });
});
});
router.get('/users/:id', (req, res) => {
const userId = req.params.id;
User.findById(userId)
.then((user) => {
if (user) {
res.json(user);
} else {
res.status(404).json({ error: 'User not found' });
}
})
.catch((error) => {
console.error('Error:', error);
res.status(500).json({ error: 'Internal server error' });
});
});
router.post('/users', (req, res) => {
const { name, age, email } = req.body;
const newUser = new User({ name, age, email });
newUser.save()
.then((user) => {
res.json(user);
})
.catch((error) => {
console.error('Error:', error);
res.status(500).json({ error: 'Internal server error' });
});
});
router.put('/users/:id', (req, res) => {
const userId = req.params.id;
const { name, age, email } = req.body;
User.findByIdAndUpdate(userId, { name, age, email }, { new: true })
.then((user) => {
if (user) {
res.json(user);
} else {
res.status(404).json({ error: 'User not found' });
}
})
.catch((error) => {
console.error('Error:', error);
res.status(500).json({ error: 'Internal server error' });
});
});
router.delete('/users/:id', (req, res) => {
const userId = req.params.id;
User.findByIdAndDelete(userId)
.then((user) => {
if (user) {
res.json(user);
} else {
res.status(404).json({ error: 'User not found' });
}
})
.catch((error) => {
console.error('Error:', error);
res.status(500).json({ error: 'Internal server error' });
});
});
以上是在路由器文件中使用mongoose集合的基本操作步骤和示例代码。通过这些操作,你可以在路由器文件中对数据库进行增删改查等操作。请注意,这里的示例代码仅供参考,实际使用时需要根据具体需求进行修改和扩展。如果你想了解更多关于mongoose的详细信息,可以参考腾讯云的MongoDB产品文档:MongoDB产品文档。
领取专属 10元无门槛券
手把手带您无忧上云