我有一个包含这些索引的集合:
db.colaboradores.getIndexKeys()
[ { "_id" : 1 }, { "nome" : 1 }, { "sobrenome" : 1 } ]
Run Code Online (Sandbox Code Playgroud)
和查询一样
db.colaboradores.find({_id: ObjectId("5040e298914224dca3000006")}).explain();
Run Code Online (Sandbox Code Playgroud)
那与索引很好
{
"cursor" : "BtreeCursor _id_",
"nscanned" : 0,
"nscannedObjects" : 0,
"n" : 0,
"millis" : 0,
}
Run Code Online (Sandbox Code Playgroud)
但运行时:
db.colaboradores.find({nome: /^Administrador/}).explain()
Run Code Online (Sandbox Code Playgroud)
mongodb不再使用索引:
{
"cursor" : "BtreeCursor nome_1",
"nscanned" : 10000,
"nscannedObjects" : 10000,
"n" : 10000,
"millis" : 25,
}
Run Code Online (Sandbox Code Playgroud)
任何解决方案 谢谢!