在嵌入式阵列中存储用户活动与单独收集?

时间:2015-03-21 14:38:04

标签: mongodb

假设我希望通过将社交媒体的新闻源存储在mongo集合中来镜像它,然后定期将其同步以获取更新。

然后,多个用户可以一次与此Feed进行交互(包括读取和写入)

另外,假设我最初将存储500到1000个条目,但我可能会考虑稍后增加它。

我的问题是,将这些活动存储在嵌入式数组或单独的集合中会更好吗

据我了解,将其存储在嵌入式阵列中将允许快速访问访问,但由于内存分配,可能会迅速停止性能。

另一方面,将每个条目存储为自己的文档意味着不得不去取每个条目,这会降低读取性能

对于最适合我的用法的任何建议都非常受欢迎

由于

1 个答案:

答案 0 :(得分:0)

使用集合。查询返回匹配的文档,而不是匹配的数组元素,因此您要搜索的内容在逻辑上应该是您的集合文档。当查询与数组的元素匹配时,您可以重新整形文档以仅包含第一个匹配的数组元素,但不是,例如,前4个匹配元素。您需要对简单查询使用聚合,这会损害性能。