0

在 Java mongo 驱动程序中如何进行or搜索?

在 mongo 聚合框架中,它被记录$or. 但是,当我尝试将其用作匹配条件时,它会引发无效的操作异常。

所以我尝试省略操作并使用以下内容,(这是 Groovy 代码,但使用 Java 驱动程序)

def r = getCollection(collectionName).aggregate(
        [$match: [transactionType: [or: [1, 2]]],
        [$group:
                [_id: null,
                        sum: [$sum: '$property']]
        ]
).results()

但这也行不通。我也尝试过完全删除运算符并仅使用值列表,但这也不起作用。

我尝试查看抛出 Java Mongo 驱动程序文档,但没有发现任何提及这一点。有人知道在or这里做手术的正确方法吗?

4

1 回答 1

2

我认为问题在于您构建“或”语句的方式。以下是否有效?

[$match: [$or: [transactionType: 1],
               [transactionType: 2]]],
[$group .....
于 2013-07-07T08:44:32.173 回答