MongoDB索引是否存在字段?

时间:2016-09-26 16:46:43

标签: mongodb performance indexing

假设我有一个包含数百万个文档的集合,其中一些文档在下面的示例中有myField字段:

{
   ...
   myField: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse suscipit, lectus pharetra sodales cursus, purus nunc tristique urna, vel bibendum purus nisl non ipsum. Aenean porta porttitor mauris, vitae bibendum augue luctus vitae. Fusce non posuere quam. Mauris bibendum elit orci, et pretium quam faucibus sit amet. Vivamus nec congue sem, in commodo nisi. Pellentesque dapibus neque eget sem elementum, non pellentesque erat sagittis. Morbi et scelerisque orci. Etiam sed augue orci. Aliquam feugiat, arcu non aliquet sagittis, ante enim lacinia purus, quis lacinia leo leo id diam. Curabitur rutrum, eros in gravida efficitur, justo sem finibus dui, at lacinia nulla neque non nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse suscipit, lectus pharetra sodales cursus, purus nunc tristique urna, vel bibendum purus nisl non ipsum. Aenean porta porttitor mauris, vitae bibendum augue luctus vitae. Fusce non posuere quam. Mauris bibendum elit orci, et pretium quam faucibus sit amet. Vivamus nec congue sem, in commodo nisi. Pellentesque dapibus neque eget sem elementum, non pellentesque erat sagittis. Morbi et scelerisque orci. Etiam sed augue orci. Aliquam feugiat, arcu non aliquet sagittis, ante enim lacinia purus, quis lacinia leo leo id diam. Curabitur rutrum, eros in gravida efficitur, justo sem finibus dui, at lacinia nulla neque non nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse suscipit, lectus pharetra sodales cursus, purus nunc tristique urna, vel bibendum purus nisl non ipsum. Aenean porta porttitor mauris, vitae bibendum augue luctus vitae. Fusce non posuere quam. Mauris bibendum elit orci, et pretium quam faucibus sit amet. Vivamus nec congue sem, in commodo nisi. Pellentesque dapibus neque eget sem elementum, non pellentesque erat sagittis. Morbi et scelerisque orci. Etiam sed augue orci. Aliquam feugiat, arcu non aliquet sagittis, ante enim lacinia purus, quis lacinia leo leo id diam. Curabitur rutrum, eros in gravida efficitur, justo sem finibus dui, at lacinia nulla neque non nulla.",
   ...
}

我希望能够执行返回字段myField存在的记录的查询。我可以通过在myField上创建一个索引来做到这一点,但是索引非常大,而且由于我只检查字段存在,因此实际上未被充分利用。

有没有办法创建一个只用于检查字段是否存在的索引(而不是值匹配)?我调查了partial indexes,虽然有趣,但我无法看到它们如何应用于此。

1 个答案:

答案 0 :(得分:0)

看起来您正在寻找Sparse indexes