Я пытаюсь заполнить результаты поиска, используя mon goose. Но я столкнулся с проблемой.
Мои данные - это список продуктов, и каждый продукт содержит список вариантов. Предположим, у меня есть продукт с именем Phone, и у меня есть список вариантов с именами синий, черный и зеленый. То, что я хочу сделать, это вернуть полный список продуктов и сумму запасов.
Пример объекта продукта:
{
"name" : "Phone",
"details" : "blaah blaah",
"variants" : [
ObjectId("5e22d3dabb6cc53debc3a4ae"),
ObjectId("5e23629c82aac939fe95c926")
]
}
А примером варианта объекта является
[
{
"name" : "blue",
"stocks": 14,
"cost" : 200
},
{
"name" : "black",
"stocks": 9,
"cost" : 202
}
]
В настоящее время я делаю следующее
router.get("/fetchProducts", (req, res) => {
Product.find({}).populate("variants")
.then(products => {
res.send(products);
}).catch(err => {
res.send(err)
})
})
Но я хочу добавить акции всех вариантов и добавить их к результату. Как это
{
"name" : "Phone",
"details" : "blaah blaah",
"variants" : [
{
"name" : "blue",
"stocks": 14,
"cost" : 200
},
{
"name" : "black",
"stocks": 9,
"cost" : 202
}
],
"stocks": 23
}