PHP 从 MongoDb 中查询数据怎么样实现
一、软件环境(版本非必须) php v5.6 扩展:MongoDB nginx v1.11 mongodb v3.2
note: 必须安装MongoDB扩展
二、连接 $client = new MongoClient($server, $option);
$server 变量是个字符串,描述要连接的服务器
mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/db
其中必要的是:
username 数据库用户名 password 数据库密码 host 服务器地址 port 数据库监听端口 三、选表(集合) 选择数据库 选择集合 $db = $client->{$db_name};
返回MongoDB类 类文档传送门
$collection = $db->{$collection_name};
返回MongoCollection类 类文档传送门
四、查询数据 $cursor = $collection->find($filter);
返回MongoCursor类 类文档传送门
1. $filter参数
mongoshell find函数参数使用:传送门
php代码编写
// 查询值大于value的文档 $filter[$gtKey] = array('$gt' => $value); // regexKey模糊查询 $filter[$regexKey] = new MongoRegex('/'.$regexValue.'/'); $collection->find($filter);
注意:
模糊查询需要使用MongoRegex类来使用,否则不识别 比较大小时,$value 的值需要与mongodb中存储的类型一致 2. 利用MongoCursor进行分页等操作 // 返回MongoCursor,可以利用MongoCursor的方法遍历数据 // 或者使用iterator_to_array($cursor)转换成数组 $cursor = $cursor ->sort(array($field=>'-1 or 1')) // 1是正序,-1是反序 ->skip($start) // 数据起始位置 ->limit($size); // 数据结束位置为$start+$size // 返回int型数值 $count = $cursor ->find($filter) ->count(); $data = iterator_to_array($cursor)
不再讲解如何使用MongoCursor遍历数据
五、总结
使用php连接MongoDB查询数据总体来说非常简单。连接、根据条件查询、分页,三步搞定。
注意事项:
使用单例模式获取MongoDB实例 模糊查询需要借助MongoRegex类 操作完成要** 关闭连接 **
That’s right. This article was first published in March 2016, buttimes change, new themes are launched for sale, so we’ve stripped out themes which are no longer available andadded eight new examples to keep things up to date.
1. Introduce Yourself
Emotional design is hugely important on the web; add the “human element” to your portfolio and your visitors will more likely connect with the work you show them. Make sure they know who they’re dealing with, who’s responsible for the photos, and who it is they’ll need to get in touch with if they want to know more.
The Responsive Photography Theme by ThemeGoods offers a homepage layout which does this really well. Your name, your signature, a touch of personality up front and centre.
PHP 从 MongoDb 中查询数据怎么样实现的更多相关文章
- MongoDB数据库中查询数据(下)
MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...
- 在MongoDB数据库中查询数据(上)
在MongoDB数据库中查询数据(上) 在MongoDB数据库中,可以使用Collection对象的find方法从一个集合中查询多个数据文档,find方法使用方法如下所示: collection.fi ...
- mongodb中查询返回指定字段
mongodb中查询返回指定字段 在写vue项目调用接口获取数据的时候,比如新闻列表页我只需要显示新闻标题和发表时间,点击每条新闻进入详情页的时候才会需要摘要.新闻内容等关于此条新闻的所有字段. ...
- MongoDB中的数据聚合工具Aggregate和Group
周煦辰 2016-01-16 来说说MongoDB中的数据聚合工具. Aggregate是MongoDB提供的众多工具中的比较重要的一个,类似于SQL语句中的GROUP BY.聚合工具可以让开发人员直 ...
- Sql Server 存储过程中查询数据无法使用 Union(All)
原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...
- 使用highcharts显示mongodb中的数据
1.mongodb数据表相关 # 显示数据库 show dbs # 数据库 use ceshi # 显示表 show tables # 创建集合 db.createCollection('infoB' ...
- 从DataTable中查询数据
/// <summary> /// 从DataTable中查询数据 /// </summary> /// <param name="tb">待处 ...
- flask再学习-思考之怎么从数据库中查询数据在页面展示!
看别人视频觉得很简单,要自己做蒙蔽了!这样子.NO! 1. 流程: 首先要有和数据库连接的驱动!一般有PYMySQL mysqlclient 等 使用扩展Flask-SQLAlchemy 获得orm对 ...
- 使用JDBC从数据库中查询数据的方法
* ResultSet 结果集:封装了使用JDBC 进行查询的结果 * 1. 调用Statement 对象的 executeQuery(sql) 方法可以得到结果集 * 2. ResultSet 返回 ...
随机推荐
- 【心无旁骛】vuex-typescript-example
我不惮以最大的赞美去赞美这样的项目,真的是非常有创意又有能力. 先放上我喜欢的这个项目的开源地址:https://github.com/gluons/vuex-typescript-example 我 ...
- [转]浅谈C#中常见的委托
一提到委托,浮现在我们脑海中的大概是听的最多的就是类似C++的函数指针吧,呵呵,至少我的第一个反应是这样的. 关于委托的定义和使用,已经有诸多的人讲解过,并且讲解细致入微,尤其是张子阳的那一篇.我就不 ...
- Python Flask学习之安装SQL,python3,Pycharm(网上下载安装即可)
1,下载时更改pypi源.可以额外安装虚拟化环境:pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.co ...
- Lucene 评分机制二 Payload
这里使用的Lucene4.7.0和Lucene3.X稍有不同 有下面三段内容,我想对船一系列的搜索进行加分 bike car jeep truck bus boat train car ship bo ...
- new运算符与malloc函数(还需要修改)
细说new与malloc的10点区别 C++ 自由存储区是否等价于堆? 浅谈new/delete和malloc/free的用法与区别 new和malloc都是在对上开辟内存,但尽量使用new. 使用m ...
- Vue+jquery上拉加载
<ul> <li class="new-list" v-for="item in proarr"> <a :href=" ...
- 工控安全入门(七)—— plc的网络
上一篇我们详细分析了bootram和Vxworks的基本启动流程,这篇文章中我们把视线转到plc的网络部分,同时来复现我们第一个.第二个工控安全漏洞. VxWorks的网络设备驱动 一般我们说有三种设 ...
- Python configparser的使用 读取配置文件
configparser是Python自带用于读取配置文件的工具包,它的使用非常简单 配置文件 配置文件[]中为section命名,section的命名可以包含空格,每个section下面以键值对的方 ...
- element ui table 去掉边框
// /deep/ .el-table { // thead { // .cell { // text-align: left; // table 表头 左对齐 // } // } // .delet ...
- meta标签中设置apple-itunes-app的意义
告诉iphone的safari浏览器:这个网站对应的是哪个app <meta name="apple-itunes-app" content="app-id=589 ...