我的数据库有users集合,每个用户有多个文档,每个文档有多个部分每个部分有多个作品
用户经常使用作品集合(添加新作品、更新作品、删除作品)。所以我的问题是,我应该建立什么样的集合结构?作品集每节有100-200条记录。
我应该用用户_id为所有用户做工作收集,还是有最好的解决方案?
发布于 2012-01-14 17:54:18
这取决于您有什么类型的查询。原则是安排文档,以便您可以在理想情况下通过一个查询获取所需的所有内容。
另一方面,您可能希望避免的是让mongo重新分配文档,因为没有足够的空间进行就地更新。您可以通过预先分配足够的空间,或者将频繁变化的部分提取到自己的集合中来实现这一点。
发布于 2012-01-14 17:55:08
正如您在MongoDB文档中所看到的,
一般来说,对于实体之间的“包含”关系,应该选择嵌入。如果不使用链接,则使用链接将导致数据重复。
所以,如果每个用户只能访问他的文档,我认为你很好。只要记住文档的大小是有限制的(我想是16MB),这是你应该小心的,因为你嵌入了很多东西。
https://stackoverflow.com/questions/8861421
复制相似问题