【问题标题】:MongoDB: Perform mapreduce and filter with java driver 3.0.xMongoDB:使用 java 驱动程序 3.0.x 执行 mapreduce 和过滤
【发布时间】:2015-05-22 14:31:08
【问题描述】:

我正在使用 java 驱动程序 3.0.1 从事 java 小型项目和 mongoDB。需要执行 MapReduce 算法,并在 map 函数之前执行一次查询以减少数据并提高性能。

我见过 api 驱动程序,并且存在带有方法 mapReduce 的类 MongoCollection,但仅使用 map 和 reduce 函数作为参数。它没有任何查询参数。

dbConnection.getCollection("test").mapReduce(mapFunction, reduceFunction)

在旧 API 中,有 MapReduceCommand 可以做到这一点

MapReduceCommand cmd = new MapReduceCommand("test", map, reduce, null, MapReduceCommand.OutputType.INLINE, query)

有什么建议吗?

谢谢大家!

【问题讨论】:

    标签: java mongodb mapreduce driver


    【解决方案1】:

    MongoCollection 上的mapReduce 方法返回MapReduceIterable 的实例,该实例具有filter 方法,用于在执行映射阶段之前将查询过滤器应用于集合。它看起来像这样:

    dbConnection.getCollection("test").mapReduce(mapFunction, reduceFunction)
                                      .filter(queryFilter)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多