2014-12-19 105 views
1

我有Mongobd文档。所有文档都包含全名字符串(例如“john fidgerald kennedy”,“john doe”)。Mongodb。如何查找包含所有子字符串的字符串?

在一个包含子字符串(例如“john”,“kennedy”或“kennedy”,“john”)的网络查询中,我想查找全名字符串包含所有这些子字符串的所有文档(例如“john fidgerald kennedy” )。

但是,我想不出如何做到这一点。

基本上,PHP,我想这样做$收藏 - >找到(阵列(“全名” =>“约翰” & &“肯尼迪”)。我知道这句法是不可能的,但它是给我想什么的想法。

任何想法如何做到这一点?理想情况下,我想一个快速的方法给我有超过100万页的文件。

感谢

+0

http://docs.mongodb.org/manual/reference/operator/query/regex/ – Disposer

+1

老实说,阅读文档可能会有帮助。您可以在该字段上使用[regexes](http://php.net/manual/en/class.mongoregex.php)或[创建全文搜索索引](http://docs.mongodb.org/manual /型芯/索引文本/)。在此之前,您可能应该阅读[我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask)和ESR的[如何问问题的智能方式](http:// catb.org/~esr/faqs/smart-questions.html)。 –

回答

1

我希望这会帮助你:

$query = "john"; 
$where = array(array('fullname' => array('$regex' => new MongoRegex("/$query/i")))); 
$mongoClient = new MongoClient(); 
$db = $mongoClient->selectDB("datbase_name"); 
$collection = $db->selectCollection("collection_name"); 
$cursor = $collection->find($where); 
相关问题