我在mongodb中实施了一个通知系统。基本上我创建通知项目并订阅用户。之后如果在通知项上发生任何操作,我只需将它们记录在操作文档中,这样我就可以查询用户关于操作集合的通知。 到目前为止,一切都很好。
现在我只想根据类型和通知项对操作进行分组,并按最新操作时间对结果进行排序(比如说跟随,评论等)。因此,我可以像约翰,丽莎和其他3个人一样制作总结,例如你的bla bla"
为了成功,我在mongodb上实现了mapreduce。它也在工作。但问题是看起来不对;
因为mapreduce会将集合生成为输出。 在这种情况下;
User1登录,mapreduce运行生成通知集合然后 User2登录,mapreduce运行生成具有相同名称的通知集合(已为其他用户创建)。
如果多个用户同时触发mapreduce,我会发生什么?(这很可能,它是一个社交网络)
我想也许我可以为每个用户notification_$userid
创建唯一的通知集合。对于1M用户来说,1M集合听起来不对吗?
顺便说一下,我开始使用MongoDB分组,但改为mapreduce,因为我想对结果集进行排序。
谢谢。