我有一个 mongodb 数据库,其中有 2 个集合。posts
和users
。
帖子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 ..]}
这里的问题是很容易获得喜欢文章的人。但很难查询用户喜欢的帖子。
我该如何解决这个问题?目前我正在考虑两种方式。就像在两个集合中保留内部数组一样。我知道我保留了冗余数据,这是解决此问题的最佳方法吗?