У меня есть маршрут, который использует следующую функцию для суммирования общего дохода от регистраций.Он отлично работает в оболочке и через Studio3T, но mongoose API ничего не возвращает.
Я использую mongoose 5.0.17 и использую Azure Cosmos DB.
exports.getDhashboard = function (req, res) {
Registration.aggregate({
$group: {
_id: "$challenge.name",
totalAmount: { $sum: "$amount" },
count: { $sum: 1 }
}
}, function (err, registrations) {
if (err)
res.send(err);
res.json(registrations);
});
};
Вот пример JSON из коллекции регистраций.
{
"modified": "2018-06-09T15:43:02.288Z",
"_id": "5b1bf5863ace0d3f54be45b4",
"paymentState": "approved",
"paymentTimeStamp": "2018-06-09T15:43:02.000Z",
"paymentId": "PAY-1J368604337116737LMN7K3I",
"payPalBuyerEmail": "kameron.berget-buyer@theitfc.com",
"payPalBuyerId": "TTJC5ZWWEF9E6",
"address1": "1 Main St",
"city": "San Jose",
"state": "CA",
"zip": "95131",
"paymentMethod": "paypal",
"paymentStatus": "VERIFIED",
"amount": 20,
"user": "",
"__v": 0
},
{
"modified": "2018-06-10T14:58:49.422Z",
"_id": "5b1d3ca9d586d4697021c128",
"paymentState": "approved",
"paymentTimeStamp": "2018-06-10T14:58:46.000Z",
"paymentId": "PAY-0D492814K5815962PLMOTZCQ",
"payPalBuyerEmail": "",
"payPalBuyerId": "TTJC5ZWWEF9E6",
"address1": "1 Main St",
"city": "San Jose",
"state": "CA",
"zip": "95131",
"paymentMethod": "paypal",
"paymentStatus": "VERIFIED",
"amount": 20,
"user": "",
"__v": 0
}