mongoid,映射/减少 SUM 投票的最佳方式



在大数据中按成员计算SUM投票。我想在事件中显示 SUM 投票所有成员(在本问题中我不使用事件模型)。

获得所有成员总和投票

首先,我使用map/reduce来查找每个成员的总和投票。 #=> 名称结果:"sum_vote"

然后我以6张新票插入"成员a",以2张新票插入"成员b"。

我不想再次读取所有数据,因为它太大了。

我尝试:(在 2 种情况下我使用缓存对象结果)

  1. 使用选项查询运行映射/减少是member_id = member_a.id AND option out:{merge:'sum_vote'}。 member_b也这样做

  2. 当 1 票插入时,我通过按键 _id(='member_id' ) 然后 +1 到它的值来更新结果"sum_vote"。

你是怎么做到的?请分享我一些问题。谢谢:D

在map/reduce中输出类型:"reduce"。这正是我所需要的。

只需使用选项:查询运行第二个map/reduce并设置:{reduce: 'sum_vote'}

感谢您的关注

最新更新