【问题标题】:Paging arrays in mongodb subdocumentmongodb子文档中的分页数组
【发布时间】:2013-02-22 04:55:26
【问题描述】:

我有一个 mongo 集合,其中包含具有如下架构的文档:

{ _id : bla,
  fname : foo,
  lname : bar,
  subdocs [ { subdocname : doc1
             field1 : one
             field2 : two
             potentially_huge_array : [...]
            }, ...
  ]
}

我正在使用当前不支持 elemMatch 的 ruby​​ mongo 驱动程序。通过项目从子文档中提取、展开和匹配管道时,我使用聚合。

我现在想做的是从包含在子文档中的 potential_huge_array 数组中分页结果。我一直无法弄清楚如何在不将整个子文档、巨大数组和所有内容从数据库中拖到我的应用程序中的情况下仅获取数组的一个子集。

有没有办法做到这一点?

不同的架构会是更好的处理方式吗?

【问题讨论】:

    标签: arrays mongodb


    【解决方案1】:

    根据巨大的大小,您绝对不希望它嵌入到另一个文档中。

    主要原因是除非您总是希望将数组与文档一起返回,否则您可能不希望将其存储为文档的一部分。如何将它存储在另一个集合中将取决于您想要访问它的方式。

    查看您最常对数据执行的查询类型通常会建议最佳架构 - 一种可以让您高效地处理查询数量、返回的数据量和轻松索引数据的方式。

    【讨论】:

      【解决方案2】:

      如果您的字段非常大并且经常更改,请将其放在单独的集合中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-26
        • 1970-01-01
        • 2016-12-31
        • 2015-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多