Мне нужно $умножить два элемента в массиве, но проблема в том, что один из элементов является строкой, так как я могу изменить ее на целое число?

**`{
       $project: {
                     item:1,quantity:1, product: { $arrayElemAt: ['$products.price',0] }
                 }
   },
   {
       $project: {
                     item:1,quantity:1, total : {$multiply:['$product','$quantity']}
                 }
    }`**

здесь $product — это строка чисел, а $quantity — целое число.

я попытался использовать parseInt('$product'), и результат был:

{
    _id: new ObjectId("626030ccb52876d4dd779dac"),
    item: new ObjectId("6260352755ed2b52b2ff13a0"),
    quantity: 3,
    total: **NaN**
  }

я думаю, вам нужно $toInt

Takis 22.04.2022 19:56
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
1
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используя **$toInt**, мы можем изменить его:

{
                        $project: {
                            item:1,quantity:1, product: { $toInt :{ $arrayElemAt: ['$products.price',0] }}
                        }
                    },
                    {
                        $project: {
                            item:1,quantity:1, total : {$multiply:['$product','$quantity']}
                        }
                    }

Другие вопросы по теме