mongodb mapreduce函数不提供跳过功能,是他们的任何解决方案吗?

Onk*_*nwa 3 mongodb nosql

Mongodb mapreduce函数没有提供任何方法来跳过数据库中的记录,如find函数.它具有查询,排序和限制选项的功能.但是我想跳过数据库中的一些记录,而我却没有任何方法.请提供解决方案.

提前致谢.

Jen*_*nna 12

理想情况下,结构良好的map-reduce查询将允许您跳过集合中的特定文档.

或者,正如塞尔吉奥指出的那样,你不能在map()中发出特定的文档.使用范围来定义全局计数器变量是将发射限制到指定范围的文档的一种方法.例如,要跳过按ObjectID排序的前20个文档(因此按插入时间排序):

db.collection_name.mapReduce(map, reduce, {out: example_output, sort: {id:-1}, scope: "var counter=0")}; 
Run Code Online (Sandbox Code Playgroud)

地图功能:

function(){
    counter ++;
    if (counter > 20){
        emit(key, value);
    }
}
Run Code Online (Sandbox Code Playgroud)