【发布时间】:2013-02-04 07:36:51
【问题描述】:
我有一个 mongodb 数据库,其中有 2 个集合。 posts 和 users。
posts json 结构是这样的
{title:"Title", content:"content goes here", postedby: "userid"}
和用户一样
{username:"", name:""}
现在我需要实现一个点赞功能,让用户喜欢帖子。
解决方案 1
我可以在用户中放置一个内部数组
{username:"", name:"", likes:[postid1,postid2..]}
这里的问题是它很容易查询用户喜欢的帖子。但是很难找到喜欢文章的人。
解决方案 2
我可以在帖子中放置一个内部数组
{title:"Title", content:"content goes here", postedby: "userid", like:[userid1,userid2 ..]}
这里的问题是很容易获得喜欢文章的人。但很难查询用户喜欢的帖子。
我该如何解决这个问题? 目前我正在考虑两种方式。就像在两个集合中保留内部数组一样。我知道我保留了冗余数据,这是解决此问题的最佳方法吗?
【问题讨论】: