我使用Mongodb存儲世界上超過2M記錄的位置列表。每個記錄是這樣的對象:Mongodb按正則表達式查詢
{ "_id" : ObjectId("4e5b339feee76320ab26f930"), "city" : "New York", "longitude" : -87.2008333, "latitude" : 30.8383333, "country_code" : "US", "country_name" : "United States" }
我想執行的搜索,獲得了所有的「城市」包含「紐約」,我花了大約10秒有結果(這是不可接受的我網絡系統)。我使用ensureIndex()函數爲「城市」建立了索引,但查詢仍然很慢。
這裏是我的查詢:
db.locations.find({"city": { "$regex": "(New York)", "$options": 'i' }})
我想這個問題是 「正則表達式」。你能否爲我提供一個解決方案,以便在2-3秒內獲得查詢結果(我在MySQL中有超過4M的記錄,類似的查詢只需1-2秒 - 帶有索引)。
感謝和問候。
偉大的答案!謝謝! – ofecrpnr
@ofecrpnr:不客氣。 –