![](/img/trans.png)
[英]How to use populate method of mongoose for mongodb in node js?
[英]How to use populate method with MongoDB in Node.js?
我有以下代码:
const Order = require('../../models/order');
const Product = require('../../models/product');
Order.find({}, '_id product quantity', function(err, result) {
if (result) {
const response = {
count: result.length,
createdOrder: result.map(function(order) {
return {
_id: order._id,
productId: order.product,
quantity: order.quantity,
request: {
type: 'GET',
url: 'http://localhost:3000/orders/' + order._id
}
}
})
};
res.status(200).json(response);
} else if (err) {
console.log(err);
res.status(404).json({
error: err
});
}
});
如何使用填充方法以上述语法提供有关产品的更多信息?
在您的订购模式中,您应该设置一个参考:
const mongoose = require('mongoose');
const orderSchema = mongoose.Schema({
// ...,
product: { type: mongoose.Schema.Types.ObjectId, ref: 'Product' }
});
module.exports = mongoose.model('Order', orderSchema);
填充产品:
Order.find({})
.populate('product')
.exec()
.then(document => {
// handle the document...
});
希望这可以帮助!
Order.find({}, '_id product quantity', function (err, result) {
if (result) {
const response = {
count: result.length,
createdOrder: result.map(function (order) {
return {
_id: order._id,
productId: order.product,
quantity: order.quantity,
request: {
type: 'GET',
url: 'http://localhost:3000/orders/' + order._id
}
}
})
};
res.status(200).json(response);
}
else if (err) {
console.log(err);
res.status(404).json(
{
error: err
});
}
}).populate('product', '_id name price');
populate方法可以在上述的javascript语法中使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.