[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;
[MongoDB] 使用PHP在MongoDB中搜索的实现的更多相关文章
- Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中
1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...
- mongodb replica set 和 nodejs中使用mongoose连接replica
一.mongodb replication 介绍 官网上的第一句话就是Replication is the process of synchronizing data across multiple ...
- mongodb基本操作和在springboot中的使用
本文介绍mongodb的使用 说明 起步 mongo通用类型 mongoshell的操作 CRUD操作 shell命令操作 索引操作 mongo在springboot中的使用 目录结构 依赖 prop ...
- NoSql非关系型数据库之MongoDB应用(三):MongoDB在项目中的初步应用
业精于勤,荒于嬉:行成于思,毁于随. 我们可以结合相关的IDE做一个简单的增删改查了,实现MongoDB在项目中的初步应用. 前提是安装了MongoDB服务和MongoDB可视化工具,没有安装的可以点 ...
- 把mongodb服务添加到系统服务中,报错:[sc] openscmanager 失败 5
添加mongodb系统服务命令如下: sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --dbpath D:\ ...
- MongoDB学习笔记(一) MongoDB介绍及安装(摘)
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mongo使用C++开发.Mongo的官方网 ...
- Mongodb学习笔记一(Mongodb环境配置)
Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...
- Mongodb学习笔记二(Mongodb基本命令)
第二章 基本命令 一.Mongodb命令 说明:Mongodb命令是区分大小写的,使用的命名规则是驼峰命名法. 对于database和collection无需主动创建,在插入数据时,如果databas ...
- 【MongoDB】6.关于MongoDB存储文件的 命令执行+代码执行
参考:http://www.runoob.com/mongodb/mongodb-gridfs.html 1.命令执行 MongoDB GridFS GridFS 用于存储和恢复那些超过16M(BSO ...
- Nodejs学习笔记(十)--- 与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门
目录 简介 MongoDB安装(windows) MongoDB基本语法和操作入门(mongo.exe客户端操作) 库操作 插入 查询 修改 删除 存储过程 nodejs操作MongoDB 插入 查询 ...
随机推荐
- 没有正确配置扫描包,提示spring的bean不存在
如下提示的解决方案: <!-- 扫描org.infor包下面的java文件,有Spring的相关注解的类,则把这些类注册为Spring的bean --> <context:comp ...
- python中class的定义及使用
#类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法. #对象:它是类的实例化. #方法:类中定义的函数. #类(Class) 由3个部分构成: ...
- JavaScript 浅复制和深复制
浅复制只会复制第一层的元素,嵌套的元素还是原来的引用. const obj = { a: 1, b: 2 } const copyObj = Object.assign({}, obj) const ...
- 迅雷X v10.1.29.698-免安装SVIP去广告精简版+骨头版+便携版+手雷+Mac精简版
迅雷X 10.1版本开始,采用Electron软件框架完全重写了迅雷主界面.使用新框架的迅雷X可以完美支持2K.4K等高清显示屏,界面中的文字渲染也更加清晰锐利.新框架的界面绘制.事件处理等方面比老框 ...
- Windows通过DOS命令行设置IP地址
@rem 设置固定IP地址netsh interface ip set address "本地连接" static 192.168.1.200 255.255.255.0 192. ...
- LeetCode 145. 二叉树的后序遍历 (用栈实现后序遍历二叉树的非递归算法)
题目链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/ 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [ ...
- 【论文翻译】An overiview of gradient descent optimization algorithms
这篇论文最早是一篇2016年1月16日发表在Sebastian Ruder的博客.本文主要工作是对这篇论文与李宏毅课程相关的核心部分进行翻译. 论文全文翻译: An overview of gradi ...
- php 获取当前目录和当前文件夹
<?php /** * PHP获取路径或目录实现 */ //魔术变量,获取当前文件的绝对路径 echo "__FILE__: ========> ".__FILE__; ...
- WSL Ubuntu 安装MongoDb 4.0导入公钥时遇到一个坑 (转)
WSL Ubuntu 安装MongoDb 4.0导入公钥时遇到一个坑 一路坑啊~~~网上的密钥都不对???? 不应该啊 源中默认是MongoDb 3.x 但是我想用4.0,然后按照mongodb官方 ...
- Java第五节课总结
继承是对现实生活中的“分类”概念的一种模拟. 通过surper调用的基类构造方法,必须是子类构造方法中的第一个语句. 构造函数(constructor)是一种特殊的方法 .主要用来在创建对象时初始化对 ...