MongoDB的。如何找到包含所有子串的字符串?

时间:2014-12-19 22:00:50

标签: php mongodb search text substring

我有 MongoDB 文件。所有文件都包含一个全名字符串(例如" john fidgerald kennedy"," john doe")。

在包含子字符串的网页查询(例如" john"," kennedy"或" kennedy"," john")时,我会喜欢查找fullname字符串包含所有这些子字符串的所有文档(例如" john fidgerald kennedy")。

但是,我无法弄清楚如何做到这一点。

基本上,使用PHP,我想做一些像$ collection-> find(array(" fullname" =>" john"&&&#34)肯尼迪")。我知道这种语法是不可能的,但是我想知道我想要什么。

知道怎么做吗?理想情况下,我想要一个快速的方法,因为我有超过1000000个文档。

1 个答案:

答案 0 :(得分: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);