zoukankan      html  css  js  c++  java
  • [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;
  • 相关阅读:
    hdu1066之数学题
    hdu1065计算几何
    hdu1060
    hdu1056
    appium安装说明
    LR安装说明
    网络编程
    读写excel
    dom
    HTML
  • 原文地址:https://www.cnblogs.com/taoshihan/p/12326662.html
Copyright © 2011-2022 走看看