$SearchParam = $_GET["tag"];
$strcount = substr_count($SearchParam, ' ');
// Code to get the tag strings and create the search parm accordingly
if ($strcount > 0)
{
$fruitQuery = "'$" ."and' => array(";
for ($i = 1; $i <= $strcount; $i++)
{
$strfind = strpos($SearchParam,' ');
$fruitQuery = $fruitQuery . "array('ta' => " . "'" .substr($SearchParam,0,$strfind) . "'),";
$SearchParam = substr($SearchParam,$strfind+1,strlen($fruitQuery));
if ($i == $strcount)
{
$fruitQuery = $fruitQuery . "array('ta' => " . "'" . $SearchParam . "'))";
}
}
}
else
{
$fruitQuery = array('ta' => $SearchParam);
}
$m = new Mongo();
$db = $m->selectDB('wikisrch');
$collection = new MongoCollection($db, 'dailymotion');
//$cursor = $collection->find($fruitQuery)->limit(12);
$cursor = $collection->find(array($fruitQuery));
var_dump($db->lastError());
这是我的代码,我正在基于搜索参数为mongodb数据库创建动态查询。在创建动态查询时,它会将其作为错误返回。
这是在$ fruitQuery中生成的字符串。输入是'相机生活'的地方 '$ and'=&gt; array(array('ta'=&gt;'camera'),array('ta'=&gt;'lifestyle'))
这是最后一条错误消息。 array(4){[“n”] =&gt; int(0)[“connectionId”] =&gt; int(1)[“err”] =&gt; NULL [“ok”] =&gt; float(1)}
当我查看Mongod控制台时,它显示以下消息。 $ err:“无效的运算符:$和,代码10068。
请你帮我解决这个问题。
答案 0 :(得分:0)
这是由于javascript代码中的错误:
$ fruitQuery =“'$”。“和'=&gt;数组(”;它抛出一个错误:“。运算符后缺少名称。”
如果能解决问题,请告诉我。