#javascript #arrays #mongodb #mongodb-query #aggregate
Вопрос:
{
$match: { user: mongodb.ObjectId(userId) }
},
{
$unwind: '$products'
},
{
$project: {
item: '$products.item',
quantity: '$products.quantity'
}
},
{
$lookup: {
from: collection.PRODUCT_COLLECTION,
localField: 'item',
foreignField: '_id',
as: 'product'
}
},
{
$project: {
item: 1, quantity: 1, product: { $arrayElemAt: ['$product', 0] }
}
},
{
$group: {
_id: null,
total: { $sum: { $multiply: [{ $toInt: '$quantity' }, { $toInt: '$product.Price' }] } }
}
}
])
но в нем говорится, что необработанное предупреждение об ошибке: Ошибка MongoServerError: PlanExecutor во время агрегации :: вызвано :: Попыткой преобразовать значение NaN в целочисленный тип в $convert без значения onError
Комментарии:
1.
$toInt
является оболочкой для$convert
, убедитесь, что аргументы являются числами для каждого документа.