Я нашел этот пост, который довольно близок к моей необходимости, но почему-то я все еще не могу заставить его работать, хотя
Заполнить вложенный массив в mongoose
Этонемного сложно объяснить, о каком вложенном рефере я говорю.Я только начинаю с кода
У меня есть Схема продуктов
const ProductSchema = new Schema(Object.assign({
name: {type: String};
});
схема заказа
const OrderSchema = new Schema(Object.assign({
products: [ {
product: { type: Schema.Types.ObjectId, ref: 'Products' },
amount: { type: Number },
total: { type: Number },
} ],
});
Я пытался сделать
const order = await Orders.findOne({
_id: 'orderId39843984203'
}).populate({
path: 'products',
populate: {
path: 'product'
}
});
Я попробовал что-то подобное, и несколько других способов, таких как path: products.product
или path: products.product._id
и что-то похожее
, но все, что я могу получить, это _id
, это не заполняет все это.
Может кто-нибудь дать мне руку или совет, как это будет работать?
Заранее спасибо
РЕДАКТИРОВАТЬ: так выглядит документ в db для orderSchema
{
"_id": {
"$oid": "5ba2e2af52f2ff3f4226015c"
},
"products": [
{
"_id": {
"$oid": "5ba2e2ac52f22f3f4226015e"
},
"amount": 4,
"total": 2940
},
{
"_id": {
"$oid": "5ba2e2ac52f2ff3f5226015d"
},
"amount": 1,
"total": 840
}
],
"createdAt": {
"$date": "2018-09-19T23:58:36.339Z"
},
"updatedAt": {
"$date": "2018-09-19T23:58:36.505Z"
},
"__v": 0
}