带有$exists筛选器的MongoDb索引

带有$exists筛选器的MongoDb索引,mongodb,mongodb-.net-driver,mongodb-csharp-2.0,Mongodb,Mongodb .net Driver,Mongodb Csharp 2.0,我在文档中有一个数组,但不同的查询以不同的方式使用它。它可以是$exists查询或按嵌套数组的项字段进行搜索。 在这些情况下,我应该建立哪些索引 另外,我使用mongodbv。3.0.2和官方c#驾驶员v。2.0如果要按嵌套数组的项字段进行搜索,则需要为查询的不同字段或字段组合使用单独的索引。这里哪个单独索引或复合索引有意义取决于您具体执行的查询 MongoDB没有索引给定子文档所有字段的“通配符索引”。但是,有时您可以通过将子文档替换为{key:“key”,value:“value”}对象数组

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


另外,我使用
mongodbv。3.0.2
官方c#驾驶员v。2.0

如果要按嵌套数组的项字段进行搜索,则需要为查询的不同字段或字段组合使用单独的索引。这里哪个单独索引或复合索引有意义取决于您具体执行的查询


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

索引数组-MongoDB对数组的每个值进行索引,以便您可以查询单个项此处没有足够的信息,但我猜您希望对数组部分进行索引,即
{s.c':1,'s.b':1}
而不是在整个数组上我需要一个单独的索引来查询$exists查询和数组对象中嵌套字段的查询只为
$exists
查询建立索引如何?@MongoUser101您想知道数组作为一个整体是否存在,或者是否存在一个特定的数组条目?我想知道数组作为一个整体是否存在exists@MongoUser101在里面这种情况是升序(
字段:1
)或降序(
字段:-1
)数组上的索引应该可以工作。我不确定a是否可以工作。文档中说,散列索引将子文档折叠为一个值,而它对数组项不起作用,但不清楚它是将数组视为一个值还是完全跳过它们。