首先请允许我说,我知道mongo不是为了做到这一点,并不是真的这样做,但是......由于客户的要求,我必须使用mongodb。这就是我的问题。
我有一个包含项目列表的集合。我有另一个集合,卷起这些项目的每小时统计数据。现在我需要加入这两个集合来获取每个项目的统计数据。问题是从items集合到stats集合进行聚合查找非常慢,因为stats表很大。我不能反向(从统计数据到上面的项目集合示例代码的聚合查找),因为没有零个小时没有统计数据。意思是我最终需要一个包含所有项目的列表,其中列出了昨天和今天的计数总和。我怎么能这样做?
现在我正在使用聚合查找:
db.stats.aggregate([
{
$lookup:
{
from: "items",
localField: "name",
foreignField: "name",
as: "item_obj"
}
}
])
还有一点需要注意的是重建db并不是一个真正的选择。