I followed this to use aggregations in spring. Create filter aggregation in spring
I can filter by one condition. But how to filter by many conditions. I want to filter by 3 conditions as below.(cond section) please help
db.test.aggregate([
{
$match: {
"metadata.type": "UNPAID",
"metadata.syncStatus": "OK",
"metadata.paymentStatus": "UNKNOWN",
"planName": "myplan",
"environment": "PREPROD",
"country": "sl"
}
},
{
"$project": {
planName: 1,
phoneNumber: 1,
time: 1,
metadata: {
$filter: {
input: "$metadata",
as: "metadata",
cond: {
$and: [
{
$eq: [
"$$metadata.type",
"UNPAID"
]
},
{
$eq: [
"$$metadata.syncStatus",
"OK"
]
},
{
$eq: [
"$$metadata.paymentStatus",
"UNKNOWN"
]
}
]
}
}
}
}
}
])