mongodb分片群集上的高性能$ all查询

时间:2016-01-14 12:59:56

标签: mongodb sharding

这是我的情况:我有一个拥有3个分片的mongodb群集和一个每个有3个节点的副本集。 (我使用Mongoid。)我的集合中的文档有一个名为filter_array的数组,它有一个多键索引:

field(:filter_array, type: Array, default: [])
index(filter_array: 1)

该数组由数字组成,例如[1,2,3]等等。我希望能够对数组的任何组合进行快速查询,这可能是以下任何一种组合:

[3], [2], [2,3], [1], [1,3], [1,2], [1,2,3]

所以我想知道如何为此设置分片键。 mongodb文档说如下:

  

如果查询不包含分片键,则mongos必须指向   查询群集中的所有分片。这些分散收集查询可以   效率低下。在较大的集群上,分散集合查询是   对日常操作不可行。

如果我理解这一点,没有分散/收集查询就没有办法做到这一点 - 或者我错过了什么?该集合可能包含数百万个文档,该数组可以包含20个元素甚至更多。

0 个答案:

没有答案