spring - Spring Aggregations - 按许多条件过滤
问题描述
我按照这个在春天使用聚合。在 spring 中创建过滤器聚合
我可以按一个条件过滤。但是如何通过许多条件进行过滤。我想按以下 3 个条件过滤。(条件部分)请帮忙
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"
]
}
]
}
}
}
}
}
])
解决方案
推荐阅读
- reactjs - Ionic 4 + React + Capacitor 应用程序 API 调用适用于浏览器,但不适用于设备
- cakephp - 如何在 cakephp 3.x 中完全禁用缓存
- javascript - 如何在 Javascript 中跳转到不同的行?
- protractor - 如何在其中找到按钮
- 和
- 通过量角器?
- couchdb - fauxton 中是否有用于 CouchDb 的列表、显示和更新功能编辑器?
- sql-server - xp_cmdshell bcp 可以处理“<”吗?
- r - 如何根据单独数据框中的两列重新编码数据框中的值?
- angular - 如何在 Angular8 中渲染多个 Plotly 图?
- hibernate - 删除主实体时如何将子实体保留在数据库中
- angular - Angular syncfusion - 获取折线图选择系列的事件是什么?