【问题标题】:MongoDB map-reduceMongoDB map-reduce
【发布时间】:2013-05-25 06:08:15
【问题描述】:

如何根据 map 的结果在 reduce 步骤中查询另一个集合?

我在一个集合中有一个名称/类型组合,我需要在这个集合中添加一些字段作为从另一个集合对这个组合的查找。我的印象是这是可能的,但文档说 reduce 或 map 出于任何原因都无法访问数据库。

我可以在代码中做到这一点,但想知道我是否可以直接在 mongo 中使用 map-reduce 接口。

基本上,步骤是:

  1. 在 collection1 上映射并返回两个字段
  2. 从 collection2 中查找值并插入回 collection1。

【问题讨论】:

  • db 对象已过时,您需要运行两个 MR,然后 reduce 将第二个 MR 的输出转换为原始结果,当然这和只做一个一样糟糕由一个客户端...

标签: mongodb mapreduce


【解决方案1】:

你不能在reduce阶段查询另一个集合。

基本上,reduce 的存在是为您聚合的每个唯一键组合所有集体发出的输出值。

MongoDB 中没有连接或伪连接,因此这一切都必须在应用程序端完成。

【讨论】:

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