Я пытаюсь решить проблему, в которой пытаюсь рассчитать общую стоимость, добавив $ в Matches.ShippingCharge + Matches.PreownedPrice = Total.
Я мог бы сделать это легко, если бы соответствовал.ShippingCharge был всего $ ShippingCharge, но так как я извлекаю данные из коллекции 2, подход кажется другим, и я не уверен, как это сделать.
gameresult = db.products.aggregate([
{'$match': {'Platform':variable}},
{'$lookup':{'from': 'vendorgames','localField': 'Product','foreignField': 'Product','as': 'Matches'}},
{'$project': {'_id':0,'Product':'$Product','Price':'$Price','Matches.ShippingCharge':1,'Matches.PreownedPrice':1}}])
Когда я выполняю вышеуказанный запрос, мой результат так:
{u'Matches': [{u'ShippingCharge': 200, u'PreownedPrice': 2000}], u'Product': u'A Way Out', u'Price': u'2,499.00'}
Что мне нужно, так это сумма Matches.ShippingCharge + Matches.PreownedPrice с функцией $ add, где результатом будет новое общее поле.Таким образом, мой вывод должен быть таким:
{u'Matches': [{u'ShippingCharge': 200, u'PreownedPrice': 2000, u'Total': 2200 }], u'Product': u'A Way Out', u'Price': u'2,499.00'}