[MongoDB] 使用PHP在MongoDB中搜索的实现
条件操作符用于比较两个表达式并从mongoDB集合中获取数据。
MongoDB中条件操作符有:
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式,使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。
MongoDB OR 条件语句使用了关键字 $or
下面是具体一个PHP例子中的$filter数组:
array(3) { ["$or"]=> array(2) { [0]=> array(1) { ["modelID"]=> string(12) "基础新闻" } [1]=> array(1) { ["name"]=> string(12) "基础新闻" } } ["createTime"]=> array(2) { ["$gte"]=> string(19) "2020-02-18 00:00:00" ["$lte"]=> string(19) "2020-02-18 23:59:59" } ["modelXML"]=> array(1) { ["$regex"]=> string(6) "标题" } }
$filter=$this->parseSearchQuery($q); //分页显示 $options = [ 'skip'=>($page - 1) * $pageSize, 'limit'=>$pageSize, 'sort' => ['createTime' => -1], 'projection'=>['_id'=> False, "modelXML"=> False], ]; var_dump($filter); $mongoManger = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017"); $query = new MongoDB\Driver\Query($filter, $options); $cursor = $mongoManger->executeQuery('.article', $query); if($cursor->isDead()){ return []; } $list=[]; foreach ($cursor as $document) { $list[]=$document; } return $list;
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网