我在文档中有一个数组,但不同的查询以不同的方式使用它。它可以是$exists
查询或按嵌套数组的项目字段搜索。
在这些情况下我应该制作哪些索引?
另外,我使用MongoDb v. 3.0.2
& Official c# driver v. 2.0
答案 0 :(得分:3)
如果要按嵌套数组的项目字段进行搜索,则需要为查询的不同字段或字段组合分别设置索引。哪个单独或复合索引在这里有意义取决于您执行的确切查询。
MongoDB没有“通配符索引”,它索引给定子文档的所有字段。但是,您有时可以通过用{ key:"key", value:"value" }
个对象替换子文档来模拟该行为。