[MongoDB] 使用PHP在MongoDB中搜索的实现

Posted 陶士涵的菜地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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;

 

以上是关于[MongoDB] 使用PHP在MongoDB中搜索的实现的主要内容,如果未能解决你的问题,请参考以下文章

在 mongoDB 中搜索索引数据的复杂度(Big-O)是多少?

MongoDB PHP

php 怎么进入mongodb

[MongoDB] 使用PHP在MongoDB中搜索的实现

如何使用 PHP 驱动程序在 MongoDB 中创建存储函数

如何为PHP安装mongodb的扩展