php mongo分页查询,PHP操作Mongodb之高级查询篇
标签:
1、查询时的排序
在关系型数据库的查询中,往往会用到排序。例如时间倒序,点击率升序啦等等。在Mongodb的查询中,也有排序功能的。
语法格式:
$db->find()->sort(array('age' => 1)); //按age字段升序排序。1为升序,-1为降序。
例如:
//连接数据库
$connnect = new Mongo("mongodb://127.0.0.1:27017");
//选择数据库
$db = $connnect->selectDB('mydb')->selectCollection("user");
//查询所有数据,按age字段升序排序
$cursor = $db->find()->sort(array('age' => 1));
$array = array();
while($cursor->hasNext()) {
$array[] = $cursor->getNext();
}
echo "
";
print_r($array);
?>
2、查询时的skip和limit操作
同样,在关系型数据库中,有limit可以限制查询区间。在Mongodb中也有类似的功能,那就是skip和limit操作。skip是跳过前多少条数据;limit是查询多少条数据。例如接着上面的列子,我们从第二条数据开始,查询一条数据。代码如下:
//连接数据库
$connnect = new Mongo("mongodb://127.0.0.1:27017");
//选择数据库
$db = $connnect->selectDB('mydb')->selectCollection("user");
//按age字段升序查询,从第二条开始,查询一条数据
$cursor = $db->find()->sort(array('age' => 1))->skip(1)->limit(1);
$array = array();
while($cursor->hasNext()) {
$array[] = $cursor->getNext();
}
echo "
";
print_r($array);
?>
3、查询时的字段筛选
在查询时,我们也会遇到需要模糊查询的时候。在关系型数据库中使用like查询即可,在mongodb数据库中,也有模糊查询的操作。语法格式如下:
$db->find(array('name' => new MongoRegex("/^j/"))); //mongodb中的模糊查询是通过正则查询的
例如上面的例子,我们查询名字以j开头的数据,代码如下:
//连接数据库
$connnect = new Mongo("mongodb://127.0.0.1:27017");
//选择数据库
$db = $connnect->selectDB('mydb')->selectCollection("user");
//查询name字段以j开头的数据
$cursor = $db->find(array('name' => new MongoRegex("/^j/")));
$array = array();
while($cursor->hasNext()) {
$array[] = $cursor->getNext();
}
echo "
";
print_r($array);
?>
5、查询时的count操作
在查询时,我们也许会碰到需要查询满足条件的数据的总和。这时就用到了count操作。语法格式如下:
$db->count();
例如上面的例子,我们查询数据数据库中的数据总和。代码如下:
//连接数据库
$connnect = new Mongo("mongodb://127.0.0.1:27017");
//选择数据库
$db = $connnect->selectDB('mydb')->selectCollection("user");
echo $db->count();
?>
6、查询时的or操作
在查询时,我们也许也会用到or操作。语法格式如下:
$db->find(array('$or' => array(array('id' => 1), array('name' => 'java'))));
例如上面的例子,我们查询id是1,或者name是java的数据。代码如下:
//连接数据库
$connnect = new Mongo("mongodb://127.0.0.1:27017");
//选择数据库
$db = $connnect->selectDB('mydb')->selectCollection("user");
$cursor = $db->find(array('$or' => array(array('id' => 1), array('name' => 'java'))));
$array = array();
while($cursor->hasNext()) {
$array[] = $cursor->getNext();
}
echo "
";
?>
标签:
来源: https://blog.csdn.net/Superman_xing/article/details/83016335
php mongo分页查询,PHP操作Mongodb之高级查询篇相关推荐
- mongo go 查询指定字段_Go语言 操作MongoDB数据库批量查询
数据操作是编程中避免不了的操作,这也就牵扯到了数据库的增删改查,而实际工作中我们最常用到的是增改查.今天要介绍的是Go 语言查询MongoDB数据库. 操作mongodb使用的包是"http ...
- mongodb java查询_java操作mongoDB查询的实例详解
java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库 ...
- python数据库-mongoDB的高级查询操作(55)
一.MongoDB索引 为什么使用索引? 假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页.这就是目录索引,帮助读者快速找到想要的章节. ...
- MongoDB数据库(5.mongodb的聚合操作以及mongodb的高级查询2)
聚合aggregate 聚合(aggregate) 是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage) 组成的管道,可以对每个阶段的 管道进行分组.过滤等功能,然后经过一系列的处理, ...
- python数据库模糊查询_Python操作mongodb数据库进行模糊查询操作示例
本文实例讲述了Python操作mongodb数据库进行模糊查询操作.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pymongo import re ...
- java mongodb 模糊查询_Java操作MongoDB插入数据进行模糊查询与in查询功能的方法
Java操作MongoDB插入数据进行模糊查询与in查询功能 由于需要用MongoDB缓存数据,所以自己写了一套公共的存放和读取方法 具体如下: 存放mongodb: /** * 公共方法:设置Obj ...
- java mongodb条件查询_java 操作mongodb查询条件的常用设置
java操作mongodb进行查询,常用筛选条件的设置如下: 条件列表: BasicDBList condList = new BasicDBList(); 临时条件对象: BasicDBObject ...
- tp5连接mongo和mysql_tp5(thinkPHP5)操作mongoDB数据库的方法
本文实例讲述了tp5(thinkPHP5)操作mongoDB数据库的方法.分享给大家供大家参考,具体如下: 1.通过composer安装 composer require mongodb/mongod ...
- Python操作MongoDB看这一篇就够了
MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档.数组及文档数组,非常灵活.在这一节中,我们就来看 ...
最新文章
- 小米数据管理与应用实践
- [TJOI2013]最长上升子序列
- 简述yolo1-yolo3_使用YOLO框架进行对象检测的综合指南-第二部分
- iptables规则的增删改查
- Spring MVC 流程图
- 在python中使用什么函数进行输出_Python中使用pprint函数进行格式化输出的教程
- layui弹窗自适应变大_layui弹窗宽度固定高度自适应界面
- poj 3450 Corporate Identity 枚举+kmp,话说这家伙给我一顿超时啊!!!!
- 【电信学】【2011.06】​基于空时空频编码的MIMO-OFDM通信信道估计与性能分析
- win10系统让图片打开方式为照片查看器
- 关于ppp、PPPoE、PPTP、L2TP、IPSec协议的简单认识
- 最近再看一遍《X战警》系列
- mysql mysqld multi_MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
- IIS 7无法写入配置文件C:\Windows\System32\inetsrv\config\applicationHost.config
- 剑指Offer——迅雷笔试题+知识点总结
- 传统6大茶类都有哪些
- sicily 1691 Abundance
- 前端面试查漏补缺--(二) 垃圾回收机制
- C# CultureInfo列表详细说明
- Oday安全 11.6利用加载模块之外的地址绕过SafeSEH一节注记---jmp [ebp+N] (下)