• [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 MongoDBDriverManager("mongodb://127.0.0.1:27017");
            $query = new MongoDBDriverQuery($filter, $options);
            $cursor = $mongoManger->executeQuery('.article', $query);
            if($cursor->isDead()){
                return [];
            }
            $list=[];
            foreach ($cursor as $document) {
                $list[]=$document;
            }
            return $list;
  • 相关阅读:
    Adb 命令
    python 属性
    python 计时器
    【网易云课堂工作】什么是本能三元组
    functiontools.partial
    源码
    听总结
    线程和死锁
    加入kendall进入计算
    添加K-CORE值进入运算
  • 原文地址:https://www.cnblogs.com/taoshihan/p/12326662.html
Copyright © 2020-2023  润新知