我正在使用最新的php mongo驱动程序以及最新的mongodb 2.0。我正在尝试运行host = x的基本查询返回结果,然后使用其他术语优化搜索。
它没有返回任何有效的结果。
我在考虑这样的事情,但显然不起作用:
$basefilter = array('host' => new MongoRegex("/1.1.1.1|2.2.2.2/i"));
$filter = array('host' => new MongoRegex("/2.2.2.2/i"));
$basereturn = $collection->find($basefilter);
$initreturn = $basereturn->find($filter);
$return = $initreturn->sort(array('date' => -1))->limit($limit)->skip($skip);
我希望能够优化我的搜索。怎么办呢?
答案 0 :(得分:0)
您无法通过游标运行查找。找到只适用于集合。我怀疑上述致命事件。您可以将/ reduce映射到集合并在其上运行find。
答案 1 :(得分:0)
你可能应该看看你在那里的正则表达式,因为点是正则表达式中的运算符,所以应该是:
$basefilter = array('host' => new MongoRegex("/(1\.1\.1\.1)|(2\.2\.2\.2)/i"));