我使用MongoDB的,我有文件具有以下結構的集合:指數邊界上蒙戈的正則表達式搜索
{
fName:"Foo",
lName:"Barius",
email:"[email protected]",
search:"foo barius"
}
我建立將執行在search
場正則表達式搜索功能。爲了優化性能,我將這個集合編入了搜索字段。但是,事情還是有點慢。於是我就在樣品上查詢的explain()
:獲勝的計劃下
db.Collection.find({search:/bar/}).explain();
看,我看到以下指標範圍:
"search": [
"[\"\", {})",
"[/.*bar.*/, /.*bar.*/]"
]
第二組是有道理的 - 它看起來從任何含有酒吧任何包含酒吧。但是,第一套讓我感到困惑。它看起來在""
的範圍內,包括{}
排他性。我擔心這個額外的邊界會減慢我的查詢速度。是否有必要保持?如果不是,我如何防止它被包含?
有同樣的問題,你有沒有找到解釋? – kirhgoff
@kirhgoff您正在使用哪個版本的mongoDB? – barbakini
@kirhgoff你在用什麼'mongoDB native'或'mongoose'。檢查一下 - http://voidcanvas.com/mongoose-vs-mongodb-native/ –