如何对mongodb使用distinct方法

时间:2015-11-16 10:15:47

标签: mongodb grails distinct

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

为此我在下面使用

def cursorOutput = dataSetCollection.find(whereObject,criteriaObject)

哪个工作正常。但我想在上面的查询中使用distinct与组合。

def distinctMIdList = dataSetCollection.distinct(hierarchyField,whereObject)

以上是对distinct的查询。如何结合两个查询。

我在下面尝试了无效

def cursorOutput = dataSetCollection.find(whereObject,criteriaObject).distinct("manager id")

whereObject 是获取结果的条件, criteriaObject 是要获取的字段。

不同的查询只给我一个管理员ID字段的结果,但我也在寻找其他字段(使用criteriaObject)。

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

谢谢。

1 个答案:

答案 0 :(得分:0)

地图功能:

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

减少功能:

   var reduceFunction = function(managerFiled,values){
       return Array.unique(values);
   }