在mongodb做右侧加入?

时间:2017-07-13 18:22:57

标签: mongodb aggregation-framework

首先请允许我说,我知道mongo不是为了做到这一点,并不是真的这样做,但是......由于客户的要求,我必须使用mongodb。这就是我的问题。

我有一个包含项目列表的集合。我有另一个集合,卷起这些项目的每小时统计数据。现在我需要加入这两个集合来获取每个项目的统计数据。问题是从items集合到stats集合进行聚合查找非常慢,因为stats表很大。我不能反向(从统计数据到上面的项目集合示例代码的聚合查找),因为没有零个小时没有统计数据。意思是我最终需要一个包含所有项目的列表,其中列出了昨天和今天的计数总和。我怎么能这样做?

现在我正在使用聚合查找:

db.stats.aggregate([
    {
      $lookup:
        {
          from: "items",
          localField: "name",
          foreignField: "name",
          as: "item_obj"
        }
   }
])

还有一点需要注意的是重建db并不是一个真正的选择。

0 个答案:

没有答案