Java Mongo 聚合还是函数?

标签 java mongodb

在 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/

相关文章:

java - 安卓:CursorLoader、LoaderManager、SQLite

Java 的模式匹配器表示未找到匹配项,但匹配项已打印到控制台

bean 构造函数中的 Java 值注入(inject)

java - 使用 this 关键字为最终实例变量赋值

node.js - Mongoose orderby 不工作

mongodb - 通过嵌套字段查询 ReactiveMongo

ruby-on-rails - 时间戳未在 RoR 应用程序中更新

java - org.apache.tiles.template.NoSuchAttributeException : Attribute 'body' not found

java - 如何指定 MongoDB 中多个表之间的 @CollectionTable 关系?

MongoDB:使用嵌入式对象的好处