在快速路由参数mongoose中按名称及其id获取数据的方法如下:
const mongoose = require('mongoose');
const productSchema = new mongoose.Schema({
name: String,
id: Number
});
const Product = mongoose.model('Product', productSchema);
const express = require('express');
const router = express.Router();
const Product = require('../models/product');
router.get('/:name/:id', async (req, res) => {
const { name, id } = req.params;
try {
// 使用mongoose查询获取数据
const product = await Product.findOne({ name, id });
if (!product) {
return res.status(404).json({ error: 'Product not found' });
}
res.json(product);
} catch (err) {
console.error(err);
res.status(500).json({ error: 'Server error' });
}
});
module.exports = router;
const express = require('express');
const mongoose = require('mongoose');
const productsRouter = require('./routes/products');
const app = express();
// 连接到MongoDB数据库
mongoose.connect('mongodb://localhost/mydatabase', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log('Connected to MongoDB'))
.catch(err => console.error(err));
// 将路由文件与URL路径进行关联
app.use('/products', productsRouter);
// 启动服务器
app.listen(3000, () => {
console.log('Server started on port 3000');
});
现在,当你发送GET请求到/products/:name/:id
路径时,它将按名称及其id获取数据并返回相应的结果。
这是一个简单的示例,展示了如何在快速路由参数mongoose中按名称及其id获取数据。根据你的具体需求,你可以根据mongoose的文档和相关资源进一步扩展和优化代码。
领取专属 10元无门槛券
手把手带您无忧上云