在文档阵列或单独的集合中存储访问IP地址

时间:2015-02-21 18:50:59

标签: mongodb

我有一个收藏品。此集合中的每个文档都有一个视图计数器,每当没有查看该项目的用户访问其页面时,该计数器都会递增。

目前,我正在每个项目文档中存储一组ipaddresses,以便我可以跟踪谁查看了它,并且只在新用户访问时增加了视图计数器。

但我担心这可能会影响性能,因为我无法检索项目文档,也无法获取IP阵列。

我希望这个数组介于1 - 5000之间。

我是否会更好地拥有一个带有项目ID和数组的单独集合,或者我是否超出潜在的性能风险?

1 个答案:

答案 0 :(得分:0)

引用official documentation.

  

通常,嵌入为读取操作提供了更好的性能,以及在单个数据库操作中请求和检索相关数据的能力。嵌入式数据模型可以在单个原子写操作中更新相关数据。

     

但是,在文档中嵌入相关数据可能会导致文档在创建后增长。文档增长会影响写入性能并导致数据碎片化

由于您的数组大小会增加嵌入您的文档不是一个好选择。 您可能想要One-to-One Relationships