У меня есть две коллекции, и я пытаюсь получить сумму общих сумм с двумя разными условиями.
Вот мой код:
db.drivers.aggregate([
{
$lookup: {
from: "bookings",
let: { driver_id: "$_id" },
pipeline: [
{ $match: { $expr: { $eq: ["$driverId", "$$driver_id"] } } },
{
$group: {
_id: "$driverId",
totalAmount: { $sum: "$driverAmount" }
}
}
],
as: "bookingdata",
pipeline: [
{
$match: {
$expr: {
$and: [
{ $eq: ["$driverId", "$$driver_id"] },
{ $eq: ["$payment.settled", false] }
]
}
}
},
{
$group: {
_id: "$driverId",
totaldues: { $sum: "$driverAmount" }
},
bookingdata: {
$push: "$totaldues"
}
},
{ $project: { _id: 0, totalAmount: 1, totaldues: 1 } }
]
}
}
]);
В результате получается либо общая сумма, либо общая сумма взносов, но неи то и другое.Как узнать подробности водителя вместе с общей суммой и общей суммой взносов?