后端/数据库新手。
要让您对我的应用程序有个大致的了解,请考虑使用任何论坛类型的网站。
用户拥有一个帐户,可以发布信息。在我的应用中,普通用户每天将发布几则帖子。
我应该将此数据分为两个不同的集合吗?
1个收藏版本:
User Model
{
_id: <object_id1>,
username: String,
password: String,
followers: Array,
posts: [
{
title: String,
content: String,
img_url: String
}
]
2收藏版
User Model
{
_id: <object_id1>
username: String,
password: String,
followers: Array,
}
Posts Model
{
_id: <object_id2>,
user_id: <object_id1>, // same as _id within user model
title: String,
content: String,
img_url: String,
}
如果使用1个集合,则必须将所有帖子存储到用户数据库中,但是如果将其拆分为另一个集合,则可以使用db查询来匹配user_id以从该用户那里获取所有帖子。
哪个会更有效?最好将它们全部保留在1个集合中?
我倾向于2个收藏集,因为我需要一种从所有用户那里获取最新帖子的方法。如果我有2个收藏集,我就可以获取最新记录。