我应该如何在MongoDB中存储属于多个其他对象的对象?
我最近在使用MongoDB进行一个项目。基本上,我网站的核心元素是“项目”。每个项目将包含一个嵌套的“字符串”对象,该对象将包含大量字符串。。。因此,每个项目都相当庞大,可以接近1兆字节或更多。因此,我希望有自己的收集项目 我遇到的问题是,我不确定如何为项目分配用户。用户应该包含他们注册的项目列表,还是项目应该包含用户列表?我什么时候该选一个呢?还有更好的办法吗?(我好久没碰MongoDB了,所以我有点生疏了)看看。适用于您的案例的指导原则是 通常,对于实体之间的“包含”关系,应该选择嵌入。如果不使用链接,则使用链接将导致数据重复我应该如何在MongoDB中存储属于多个其他对象的对象?,mongodb,database-design,database,nosql,Mongodb,Database Design,Database,Nosql,我最近在使用MongoDB进行一个项目。基本上,我网站的核心元素是“项目”。每个项目将包含一个嵌套的“字符串”对象,该对象将包含大量字符串。。。因此,每个项目都相当庞大,可以接近1兆字节或更多。因此,我希望有自己的收集项目 我遇到的问题是,我不确定如何为项目分配用户。用户应该包含他们注册的项目列表,还是项目应该包含用户列表?我什么时候该选一个呢?还有更好的办法吗?(我好久没碰MongoDB了,所以我有点生疏了)看看。适用于您的案例的指导原则是 通常,对于实体之间的“包含”关系,应该选择嵌入。如果
如果一个用户可以注册到多个项目中,并且一个项目可以注册多个用户,那么最好为项目和用户分别设置集合 我想不出两者之间有什么严重的区别。我认为维护it用户端可能更容易:
- 用户从项目中取消订阅,因为您只是修改了该用户行,而该用户行上可能只有原子锁,这与多个用户可能同时尝试取消订阅的项目行不同。因此,在用户端这样做通常可能会带来更好的更新和并发性
- 前一点也适用于订阅项目的用户
- 用户删除,您只需删除用户行…简单