此问题在此处已有答案:
Mongoose populate does not populate array(3个答案)
18小时前关门了。
我试图创建一个订单控制器,在其中通过引用在数组中存储其他“cart”模型,如“list”中所示:
const mongoose = require('mongoose');
const OrderSchema = new mongoose.Schema(
{
list: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Cart',
}],
totalAmount: {
type: Number,
required: true,
},
payment: {
type: String,
required: true,
},
address: {
type: String,
required: true,
},
addressNote: {
type: String,
required: false,
},
createdAt: {
type: Date,
default: Date.now,
}
},
{ timestamps: true }
);
module.exports = mongoose.model("Order", OrderSchema);
我可以在列表中存储购物车id,但问题是,当我执行get from order时,我希望列表返回购物车中的内容,而不是我发送的id
显示所有顺序控制器:
const Order = require('../../models/Order');
class ShowAllProduct {
async show(req, res) {
try {
const order = await Order.find({}).populate('list').exec();
return res.status(200).json(order);
} catch (err) {
return res.status(500).json(err);
}
}
}
module.exports = new ShowAllProduct();
我试图通过populate方法来实现这一点,但没有成功。
1条答案
按热度按时间0yg35tkg1#
试 着 用 这种 方法 来 填充
中 的 每 一 个
更新 : 如果 你 想 从 购物 车 模型 填充 产品 模型 ,
格式
如果 您 只 想 从 模型 中 选择 特定 字段 , 请 在 Populate 中 使用
select:'name image_url'
。格式