2014-03-01 67 views
0

在mongodb中我有一個名字「PIERRE JOHN IGUE」,我需要以任何順序匹配字符串,即使我給出像「JOHN PIERRE」,「PIERRE IGUE」,「JOHN IGUE「,」IGUE PIERRE「以任何順序我必須找到結果,就像搜索將只返回完全匹配的單詞。有什麼方法可以在mongodb中以任何順序搜索字符串。在MongoDB中以任意順序搜索字符串

+0

雖然它沒有準備好用於生產用途,您可能會看到,如果即將到來的功能將滿足您的需求。 http://docs.mongodb.org/manual/tutorial/search-for-text/如果您關心性能,不推薦在集合中進行強力搜索。 – WiredPrairie

回答

0

美國一個$regex在你發現

{$regex: "PEIRE|JOHN|IGUE", $option: "i" } 
+0

這個正則表達式不會完全匹配。 – WiredPrairie

+0

如果名稱「PEIRE JOHN」在mongodb中,並且我搜索了「DEIRE JOHN」,那麼也應該找到這個「PEIRE JOHN」。因爲它與該名稱相似 – deepu

+0

@deepu要解釋,那裏的特定匹配會在字符串中爲您正在搜索的字段找到PEIRE或JOHN或IGUE。因此,這將匹配具有任何這些條款的文檔。組合搜索相當複雜一些,如果符合您的目的,則更適合用於文本搜索引擎。否則,您可以如圖所示過濾結果,但不會確切。 –

相關問題