我应该为此创建一个单独的模型(集合)吗?

should I create a seperate model (collection) for this?

我正在使用 MERN 构建一个小型网络应用程序,我有一个包含 “姓名、电子邮件、密码、头像 url 和日期”的集合,并且我我要向用户添加一些信息,例如 “简历、爱好(数组)”、“访问过的国家(数组)”和另一个数组“

问题是,我应该为用户信息创建一个不同的模型,并添加引用其他模型的所有者字段吗?或者我应该把它们都放在那里,

我以后可能还会添加以下和关注者选项。

用户的信息应该在用户集合中,我看没有理由为它单独创建一个集合。如果您想减少列表用户的响应,可以使用 populate 删除不需要的字段。

问候以下和关注者,我认为有两种方法:

  • 在现有集合中添加一个用于存储用户id和必要元数据(姓名、头像)的新字段
  • 创建一个新集合,该集合是用户和他们正在关注或被关注的用户的组合。然后,您可以使用 Virtual 从用户集合中获取此信息。

就个人而言,我更喜欢第一种方法,尽管它需要更多的努力来维护列表的准确性。例如,当您的关注者停止关注您时,从列表中删除一个项目。