我在MongoDB数据库中有两个集合:
posts
user_clicks
在posts
集合中,我存储了有关用户发布的帖子的信息。
在user_buttons
中,我将用户在这些帖子中存储有关按下按钮的信息。
另外,在posts
中,我存储了每个totalButtonClicks
文档中所有用户的post
信息。
因此,当用户点击时我必须执行两个操作:
user_buttons
集合添加/更新文档,了解按钮上新增/更改的点击次数。totalButtonClicks
中与post
集合中点击的按钮相关的posts
个计数器。在这里,我可能遇到数据不一致问题,因为AFAIK MongoDB仅在文档级别支持事务,但根据上述逻辑,我必须更新两个不同的文档。
你能否建议一下这个......可能是设计问题,可以用MongoDB有效解决。请注意,单个post
可以关联数千个相应的用户按钮点击。
另外,我需要在群集上扩展系统。当上述逻辑同时在集群中的不同应用程序实例上工作以平衡负载时,如何使用MongoDB正确设计此逻辑。