在MongoDB聚合Java查询的匹配阶段如何构造多个AND逻辑?

时间:2020-05-14 08:30:36

标签: java mongodb aggregation-framework mongo-java-driver

我是Java刚接触Mongodb的人,正在运行一些聚合并陷入其中。

我正在尝试过滤以下内容

{
    "$and": [
        {"_id.day": {"$gte": 25}},
        {"_id.month": {"$gte": 2}},
        {"_id.year": {"$gte": 2020}},
    ],
    "$and": [
        {"_id.day": {"$lt": 26}},
        {"_id.month": {"$lte": 3}},
        {"_id.year": {"$lte": 2020}},
    ]
}

到目前为止,这是我正在尝试的方法,但是它没有按预期工作

Aggregates.match(
   Filters.and(
        Filters.gte("_id.day", startOfRange.getDayOfMonth()),
        Filters.gte("_id.month", startOfRange.getMonthOfYear()),
        Filters.gte("_id.year", startOfRange.getYear()))
    Filters.and(
        Filters.lt("_id.day", endOfRange.getDayOfMonth()),
        Filters.lte("_id.month", endOfRange.getMonthOfYear()),
        Filters.lte("_id.year", endOfRange.getYear()))
)

我遵循本教程:https://mongodb.github.io/mongo-java-driver/3.4/builders/filters/#examples-1

我不确定出了什么问题。

有什么建议吗?谢谢。

0 个答案:

没有答案
相关问题