在 Java mongo 驱动程序中如何进行或
搜索?
在mongo聚合框架中是documented如$或
。但是当我尝试使用它作为匹配条件时,它会抛出无效的操作异常。
所以我尝试省略该操作并使用以下内容,(这是 Groovy 代码,但使用 Java 驱动程序)
def r = getCollection(collectionName).aggregate(
[$match: [transactionType: [or: [1, 2]]],
[$group:
[_id: null,
sum: [$sum: '$property']]
]
).results()
但这也行不通。我还尝试完全删除运算符并仅使用值列表,但这也不起作用。
我尝试查看 Java Mongo 驱动程序文档,但没有找到任何提及这一点的内容。有人知道在这里进行 or
操作的正确方法吗?
最佳答案
我认为问题在于你构建“或”语句的方式。以下内容可以代替吗?
[$match: [$or: [transactionType: 1],
[transactionType: 2]]],
[$group .....
关于Java Mongo 聚合还是函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498761/