Запрос MongoDB, чтобы получить самые продаваемые продукты

#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, гггг , цена не имеет никакого значения, как я могу предсказать? Дайте нам правильные данные