我的数据库有用户集合, 每个用户都有多个文件, 每个文档都有多个部分 每个部分都有多个作品
用户经常使用作品集(添加新作品,更新作品,删除作品)。所以我的问题是我应该制作什么样的馆藏结构?作品集合每节100-200条记录。
我应该使用用户_id为所有用户进行工作集合还是有最佳解决方案?
答案 0 :(得分:2)
取决于您的查询类型。该指南是为了安排文档,以便您可以在理想的一个查询中获取所需的全部内容。
另一方面,您可能希望避免使用mongo重新分配文档,因为没有足够的空间进行就地更新。您可以通过预先分配足够的空间,或将频繁更改的部分提取到自己的集合中来实现。
答案 1 :(得分:0)
正如您可以在MongoDB文档中阅读的那样,
通常,对于实体之间的“包含”关系,应选择嵌入。不使用链接时使用链接会导致数据重复。
因此,如果每个用户只能访问他的文档,我认为你很好。请记住,对于您应该注意的文档,大小(我认为是16MB)是有限制的,因为您嵌入了很多东西。