部分索引的局限性是什么?

时间:2015-12-15 15:10:28

标签: mongodb indexing filtered-index partial-index

最新版本的MongoDB(v3.2)增加了对partial (filtered) indexes的支持。您在创建索引时提供过滤器,该过滤器确定将在索引中引用哪些文档,哪些不会。

我可以使用任何过滤器表达式(只要它是有效的过滤器)吗?或者使用过滤器有限制吗?如果是这样,那些限制是什么?

1 个答案:

答案 0 :(得分:14)

  

我可以使用任何过滤器表达式吗?

不,部分索引仅支持所用过滤器中的运算符子集。唯一受支持的运算符为:$AND(仅限顶层),$EQ$LT$LTE$GT$GTE,{ {1}}和$EXISTS

遗漏了,例如TYPE_OPERATOR$NOT$REGEX等。

您可以在MongoDB here的源代码中看到它。

  

有哪些限制?

部分索引也有一些一般限制:

  • $OR索引不能是部分索引。
  • 稀疏索引不能是部分索引。
  • 分片键索引不能是部分索引。
  • 3.2之前的版本不支持部分索引。
相关问题