使用Mongo Map Reduce进行通知系统

时间:2013-05-01 10:25:02

标签: mongodb mapreduce

我在mongodb中实施了一个通知系统。基本上我创建通知项目并订阅用户。之后如果在通知项上发生任何操作,我只需将它们记录在操作文档中,这样我就可以查询用户关于操作集合的通知。 到目前为止,一切都很好。

现在我只想根据类型和通知项对操作进行分组,并按最新操作时间对结果进行排序(比如说跟随,评论等)。因此,我可以像约翰,丽莎和其他3个人一样制作总结,例如你的bla bla"

为了成功,我在mongodb上实现了mapreduce。它也在工作。但问题是看起来不对;

因为mapreduce会将集合生成为输出。 在这种情况下;

User1登录,mapreduce运行生成通知集合然后 User2登录,mapreduce运行生成具有相同名称的通知集合(已为其他用户创建)。

如果多个用户同时触发mapreduce,我会发生什么?(这很可能,它是一个社交网络)

我想也许我可以为每个用户notification_$userid创建唯一的通知集合。对于1M用户来说,1M集合听起来不对吗?

顺便说一下,我开始使用MongoDB分组,但改为mapreduce,因为我想对结果集进行排序。

谢谢。

0 个答案:

没有答案