我是一名初级中级 PHP 开发人员,开始使用 MongoDB。我想创建一个Mongo查询类,它根据传递给方法的参数构建查询。我希望这是可能的,我只是缺少一些基本的 PHP 技术。
我从静态查找功能开始:
$dateRange = $this->collection->find(array(
'timeStamp' => array(
'$gt' => $startTime,
'$lt' => $endTime
),
'userAgent' => array(
'$ne' => 'ELB-HealthChecker/1.0'
)
));
我希望能够将时间范围、用户代理、紧急级别等传递到方法中,然后根据这些参数是否存在来构建查询。我试过这样的事情:
if($startTime && $endTime){
$filter = "
'timeStamp' => array(
'$gt' => $start,
'$lt' => $end
)";
}
if($userAgent){
$filter .= ",
'userAgent' => array(
'$ne' => 'ELB-HealthChecker/1.0'
)";
$dateRange = $this->collection->find(array($filter);
没用。那么,我做错了什么?