mongodb - 如何在MongoDB中使用与聚合不同的方法

标签 mongodb grails distinct

使用MongoDB从集合中获取记录时,我需要检查一些条件和级别。

为此,我在下面使用

def cursorOutput = dataSetCollection.find(whereObject,criteriaObject)

哪个工作正常。但是我想对上面的查询使用与众不同的组合。
def distinctMIdList = dataSetCollection.distinct(hierarchyField,whereObject)

以上是与众不同的查询。如何结合两个查询。

我在下面尝试了不起作用
def cursorOutput = dataSetCollection.find(whereObject,criteriaObject).distinct("manager id")

其中对象是要获取结果的条件,而条件是对象是要获取的字段。

不同的查询给我的结果只有Manager id字段,但是我也在寻找其他字段(使用criteriaObject)。

最后如何结合以上两个查询。我搜索了$ distinct不可用的管道。

谢谢。

最佳答案

map 功能:

   var mapFunction = function() {
       if(/*your criteria*/) {
           emit("manager_id", this.manager_id);
       }
    };

缩小功能:
   var reduceFunction = function(managerFiled,values){
       return Array.unique(values);
   }

关于mongodb - 如何在MongoDB中使用与聚合不同的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33732894/

相关文章:

mysql - 从 MySQL 表中获取顶级玩家

java - 使用 java springboot mongodb 进行部分更新的 JUNIT 测试

带有静态资源的 Grails 过滤器?

grails - 这是对 Grails transient 的有效使用吗?

mysql - 如何解决 grails 中的此 BuildConfig 错误

SQL 选择不同的子字符串 where like mudleup howto

mongodb - 从 Spark 2.2.0 连接到 MongoDB 时出现问题

json - 导出 JSON 数据并加载到关系数据库中

mongodb - mongodb聚合中的条件$first

mysql - SELECT DISTINCT 并计数