php操作mongodb教程
来源:互联网 发布:墨西哥毒贩知乎 编辑:程序博客网 时间:2024/05/20 16:10
PHP的mongodb扩展安装
将mongo.so添加到php.ini
重启php-fpm生效
php的mongodb扩展,提供了4个核心类接口
1). 针对mongodb的连接操作类MongoClient
http://www.php.net/manual/zh/class.mongoclient.php
2). 针对mongodb的数据库操作类MongoDB
http://www.php.net/manual/zh/class.mongodb.php
3). 针对mongodb的集合操作类MongoCollection
http://www.php.net/manual/zh/class.mongocollection.php
4). 针对mongodb的查询结果集(游标)操作类MongoCursor
http://www.php.net/manual/zh/class.mongocursor.php
连接MongoDB
mongodb驱动连接格式为:mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]],如:
mongodb://localhost
mongodb://user:password@localhost
mongodb://user:password@localhost/database
mongodb://example1.com:27017,example2.com:27017
mongodb://localhost,localhost:27018,localhost:27019
mongodb://host1,host2,host3/?slaveOk=true
mongodb://localhost/?safe=true
mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000
mongodb://rs1.example.com:27017,rs2.example.com:27017/?replicaSet=myReplSetName
mongodb://localhost/?journal=true&w=majority&wTimeoutMS=20000
具体含义参见《ttlsa教程系列之mongodb—(一)mongodb介绍》 http://www.ttlsa.com/html/1594.html
PHP连接实例:
在连接到复制集时,用它来判断哪台是primary。返回主机名称、端口号、健康程度、状态(1-primary,2-secondary,0-other)、ping耗时、前一次ping的时间戳。
列出所有数据库,返回数据库名称、大小、是否为空以及总大小、ok状态。
选择数据库,返回数据库对象
选择表(集合),返回文档集合对象
列出所有集合,返回集合对象
获取当前选择的数据库名,返回数据库名
删除当前数据库
设置slaveok状态(可读状态设置)
获取slaveok当前状态
插入数据MongoCollection::insert(array $a,array $options)
array $a 要插入的数组
array $options 选项:safe 是否返回操作结果信息;fsync 是否直接插入到物理硬盘;w 写入份数;timeout 超时时间
删除集合中的记录MongoCollection::remove(array $criteria,array $options)
array $criteria 条件
array $options 选项: safe 是否返回操作结果; fsync 是否是直接影响到物理硬盘; justOne 是否只影响一条记录
更新集合中的记录MongoCollection::update(array $criceria,array $newobj,array $options)
array $criteria 条件
array $newobj 要更新的内容
array $options 选项: safe 是否返回操作结果; fsync 是否是直接影响到物理硬盘; upsert 是否没有匹配数据就添加一条新的; multiple 是否影响所有符合条件的记录,默认只影响一条
查询集合获取单条记录MongoCollection::findOne(array $query,array $fields)
array $query 条件
array $fields 要获得的字段
获取多条记录MongoCollection::find(array $query,array $fields)
array $query 条件
array $fields 要获得的字段
获取查询结果数量
选定列MongoCursor::fields
分页
排序MongoCursor::sort
取查询结果
快照MongoCursor::snapshot
保证一致性。在做find()操作时,获得$cursor之后,这个游标是动态的,在循环取结果过程中,如果有其他连接来更改符合条件的记录时,这个$cursor也会跟着变化的。$cursor->snapshot();之后,再插入或删除符合条件的记录时,获取的结果集将不再变化。如果是小于1M的结果集会自动被当作snapshot来处理。
如果要获取$cursor之后不变的结果需要这么做:
snapshot对findOne无效。
- php操作mongodb教程
- PHP操作MongoDB简明教程
- Mongodb for PHP教程之数据操作
- Mongodb for PHP教程之数据操作
- MongoDB PHP教程
- PHP操作MongoDB
- PHP操作MongoDB
- PHP操作MongoDB
- PHP操作MongoDB
- PHP 操作mongodb
- php 操作mongodb(2)
- PHP 对 MongoDB 操作
- MongoDB之php操作
- PHP操作MongoDB技術總結
- php 操作mongodb
- PHP操作MongoDB技術總結
- php操作MONGODB
- PHP操作MongoDB
- IOS 通知机制
- 用户空间与内核空间通讯接口之procfs
- hdu5523 Game
- HDOJ 5523 Game
- Eclipse 下C++ 多线程 pthread.h1
- php操作mongodb教程
- iOS自定义转场动画(4)——自定义模态跳转之dismiss与手势驱动
- js获取所有复选框中的值
- HDU 2076 夹角有多大(水~)
- android之Volley框架的使用(1)
- IOS开发之C基础-循环结构
- 找出发贴水王
- 学习DataGridViewX
- 优秀程序员必须知道的32个算法