我有以下情况:
- 我有一个包含文件的集合,例如
{a: 1, b: 'some string', c: 5, d: 7 } {a: 2, b: 'some another string', c: 5, d: 8 } {a: 3, b: 'yet another string', c: 5, d: 9 }
- 我允许用户使用自定义查询进行搜索,所以有时我可以搜索:
{a: 2, c:5} {c:5, d:8}
- 一些使用的字段是强制性的(例如c)
- 我考虑过为 c 设置索引,这样查询会更快,当我这样做时:
db.my_collection.find({c:5})
它很好用,但是当我启动时:
db.my_collection.find({c:5,d:8})
当没有索引时,它消耗相同的时间:(
所以我的问题是:是否可以设置某种部分索引,以便查询首先在具有索引的键中搜索,而不是在没有索引的键中搜索?