使用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/