标签:

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之高级查询篇相关推荐

  1. mongo go 查询指定字段_Go语言 操作MongoDB数据库批量查询

    数据操作是编程中避免不了的操作,这也就牵扯到了数据库的增删改查,而实际工作中我们最常用到的是增改查.今天要介绍的是Go 语言查询MongoDB数据库. 操作mongodb使用的包是"http ...

  2. mongodb java查询_java操作mongoDB查询的实例详解

    java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库 ...

  3. python数据库-mongoDB的高级查询操作(55)

    一.MongoDB索引 为什么使用索引? 假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页.这就是目录索引,帮助读者快速找到想要的章节. ...

  4. MongoDB数据库(5.mongodb的聚合操作以及mongodb的高级查询2)

    聚合aggregate 聚合(aggregate) 是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage) 组成的管道,可以对每个阶段的  管道进行分组.过滤等功能,然后经过一系列的处理, ...

  5. python数据库模糊查询_Python操作mongodb数据库进行模糊查询操作示例

    本文实例讲述了Python操作mongodb数据库进行模糊查询操作.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pymongo import re ...

  6. java mongodb 模糊查询_Java操作MongoDB插入数据进行模糊查询与in查询功能的方法

    Java操作MongoDB插入数据进行模糊查询与in查询功能 由于需要用MongoDB缓存数据,所以自己写了一套公共的存放和读取方法 具体如下: 存放mongodb: /** * 公共方法:设置Obj ...

  7. java mongodb条件查询_java 操作mongodb查询条件的常用设置

    java操作mongodb进行查询,常用筛选条件的设置如下: 条件列表: BasicDBList condList = new BasicDBList(); 临时条件对象: BasicDBObject ...

  8. tp5连接mongo和mysql_tp5(thinkPHP5)操作mongoDB数据库的方法

    本文实例讲述了tp5(thinkPHP5)操作mongoDB数据库的方法.分享给大家供大家参考,具体如下: 1.通过composer安装 composer require mongodb/mongod ...

  9. Python操作MongoDB看这一篇就够了

    MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档.数组及文档数组,非常灵活.在这一节中,我们就来看 ...

最新文章

  1. 小米数据管理与应用实践
  2. [TJOI2013]最长上升子序列
  3. 简述yolo1-yolo3_使用YOLO框架进行对象检测的综合指南-第二部分
  4. iptables规则的增删改查
  5. Spring MVC 流程图
  6. 在python中使用什么函数进行输出_Python中使用pprint函数进行格式化输出的教程
  7. layui弹窗自适应变大_layui弹窗宽度固定高度自适应界面
  8. poj 3450 Corporate Identity 枚举+kmp,话说这家伙给我一顿超时啊!!!!
  9. 【电信学】【2011.06】​基于空时空频编码的MIMO-OFDM通信信道估计与性能分析
  10. win10系统让图片打开方式为照片查看器
  11. 关于ppp、PPPoE、PPTP、L2TP、IPSec协议的简单认识
  12. 最近再看一遍《X战警》系列
  13. mysql mysqld multi_MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
  14. IIS 7无法写入配置文件C:\Windows\System32\inetsrv\config\applicationHost.config
  15. 剑指Offer——迅雷笔试题+知识点总结
  16. 传统6大茶类都有哪些
  17. sicily 1691 Abundance
  18. 前端面试查漏补缺--(二) 垃圾回收机制
  19. C# CultureInfo列表详细说明
  20. Oday安全 11.6利用加载模块之外的地址绕过SafeSEH一节注记---jmp [ebp+N] (下)

热门文章

  1. 用79种语言说爱琪琪格
  2. JS报错:require is not defined
  3. 解决ubuntu打开windows中txt文件出现乱码现象
  4. mysql 导出函数_mysql导出存储过程或函数
  5. accept函数_基础套接字函数入门1
  6. 6-uboot relocation介绍
  7. byte 和16进制关系
  8. 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)
  9. wordpress中安装插件需要ftp服务怎么破
  10. ssdb主从及双主模型配置和简单管理