#javascript #node.js #mongodb #express #express-router
Вопрос:
У меня есть коллекция MongoDB «заказы» с документом, похожим на такой:
{
"_id": ObjectId("xxxxx"),
"orderNo": 0,
"products": [
{ "product1": ["_Id": objectId("eeee"),"productName", "quantity", "price"] },
{ "product2": ["_Id": objectId("ffff"),"productName", "quantity", "price"] }
],
"deliveryAddress": "addsfdfghf"
}
{
"_id": ObjectId("yyyyy"),
"orderNo": 1,
"products": [
{ "product1": ["_Id": objectId("dddd"),"productName", "quantity", "price"] }
],
"deliveryAddress": "rwetrutytyi"
}
{
"_id": ObjectId("zzzz"),
"orderNo": 2,
"products": [
{ "product1": ["_Id": objectId("aaaa"), "productName", "quantity", "price"] },
{ "product2": ["_Id": objectId("bbbb"),"productName", "quantity", "price"] },
{ "product3": ["_Id": objectId("cccc"),"productName", "quantity", "price"] }
],
"deliveryAddress": "rwetrutytyi"
}
Теперь я хочу написать запрос, чтобы получить самые продаваемые продукты, используя свойство «количество» каждого продукта.
правильные значения в приведенном выше документе выглядят так:
{
"products": [{
"_id": {
"$oid": "612baf1b89c77b25c40aa3bc"
},
"productID": "NPZ6I",
"productName": "Cosentys 150ml",
"quantity": "1",
"expireDate": "04/20/2022",
"price": "22200"
}, {
"_id": {
"$oid": "612baf1b89c77b25c40aa3bb"
},
"productID": "NPZ3I",
"productName": "Asunra 400mg",
"quantity": "2",
"expireDate": "09/26/2021",
"price": "13200"
}],
"orderNo": 9,
"deliveryAddress": "Dhaka"
}
Я хочу вернуть объект, похожий на:
{ «_id»: Идентификатор объекта(«гггг»), «Имя продукта»: «Строка», «Идентификатор продукта»: «Строка», «Итоговые продажи» : «Количество(сумма количества каждого продукта)», «Общее количество»: «Количество(сумма цены каждого продукта)»
}
Комментарии:
1. Чан вы делитесь образцами правильных значений в приведенных выше документах и ожидаемым результатом?
2. @варман, не могли бы вы, пожалуйста, проверить. Я думаю, что теперь это лучше.
3. ваш ожидаемый результат-креар… ваши данные xxxxx, гггг , цена не имеет никакого значения, как я могу предсказать? Дайте нам правильные данные