带有$ exists过滤器的MongoDb索引

时间:2015-09-15 14:46:26

标签: mongodb mongodb-.net-driver mongodb-csharp-2.0

我在文档中有一个数组,但不同的查询以不同的方式使用它。它可以是$exists查询或按嵌套数组的项目字段搜索。 在这些情况下我应该制作哪些索引?

另外,我使用MongoDb v. 3.0.2& Official c# driver v. 2.0

1 个答案:

答案 0 :(得分:3)

如果要按嵌套数组的项目字段进行搜索,则需要为查询的不同字段或字段组合分别设置索引。哪个单独或复合索引在这里有意义取决于您执行的确切查询。

MongoDB没有“通配符索引”,它索引给定子文档的所有字段。但是,您有时可以通过用{ key:"key", value:"value" }个对象替换子文档来模拟该行为。