2014-03-01 28 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。因此,这将匹配具有任何这些条款的文档。组合搜索相当复杂一些,如果符合您的目的,则更适合用于文本搜索引擎。否则,您可以如图所示过滤结果,但不会确切。 –

相关问题