我刚开始使用 MongoDB,我很困惑用列表属性构建对象模型。我有一个与关注者和关注对象相关的用户模型,它们是用户 ID 列表。所以我可以想到一些对象模型结构来表示这种关系。
嵌入式文档。追随者和追随者嵌入到用户模型中。这样,在许多 Web 框架中,每个请求都会生成一个“current_user”对象,并且序列化/反序列化 Follower 和 Follower 列表属性是额外的开销,因为我们很少在大多数请求中使用这些属性。我们可以在生成“current_user”时排除这些属性。但是,我们需要在对它进行任何更新之前再次获取完整的“current_user”对象。
在用户模型中使用参考属性。我们可以拥有 Followers 和 Followers 对象模型本身,不是嵌入的,而是保存对 User 对象的引用。
在追随者和追随者模型中使用参考属性。我们可以将用户 ID 保存在 Follower 和 Follower 属性中以供以后查询。
可能还有其他一些方法可以做到这一点,更容易使用或更好的性能。我的问题是:
设计具有一些相关列表属性的模型的建议方法是什么?