mongodb php
首先安装扩展,然后才能使用mongodb
一、连接数据库
- try {
- $mongo = new MongoClient();
- $db = $mongo->mydb;
- var_dump($db);
- } catch (MongoConnectionException $e) {
- echo $e->getMessage();
- }
该代码可以连接mydb数据库,如果该数据库不存在则自动创建。
二、创建集合
- try {
- $mongo = new MongoClient();
- $db = $mongo->mydb;
- $mycol = $db->createCollection('mycol');
- var_dump($mycol);
- } catch (MongoConnectionException $e) {
- echo $e->getMessage();
- }
该代码可以创建集合mycol。
三、插入文档
mongodb中使用insert()来插入文档。
- try {
- $mongo = new MongoClient();
- $db = $mongo->mydb;
- $mycol = $db->mycol;
- $document = array('name' => 'test1' , 'sex' => 'formale' , 'age' => 20);
- $res = $mycol->insert($document);
- var_dump($res);
- } catch (MongoConnectionException $e) {
- echo $e->getMessage();
- }
输出:
- array (size=4)
- 'ok' => float 1
- 'n' => int 0
- 'err' => null
- 'errmsg' => null
四、查找文档
mongodb使用find()来查找文档
- try {
- $mongo = new MongoClient();
- $db = $mongo->mydb;
- $mycol = $db->mycol;
- $mongoCursor = $mycol->find();
- foreach ($mongoCursor as $document) {
- var_dump($document);
- }
- } catch (MongoConnectionException $e) {
- echo $e->getMessage();
- }
结果:
- array (size=4)
- '_id' =>
- object(MongoId)[7]
- public '$id' => string '56c28a793b22cf5415000029' (length=24)
- 'name' => string 'test1' (length=5)
- 'sex' => string 'formale' (length=7)
- 'age' => int 20
五、更新文档
使用update()来更新文档
- try {
- $mongo = new MongoClient();
- $db = $mongo->mydb;
- $mycol = $db->mycol;
- $mycol->update(array('name'=>'test1') , array('$set'=>array('age' => 21)));
- $mongoCursor = $mycol->find();
- foreach ($mongoCursor as $document) {
- var_dump($document);
- }
- } catch (MongoConnectionException $e) {
- echo $e->getMessage();
- }
结果
- array (size=4)
- '_id' =>
- object(MongoId)[7]
- public '$id' => string '56c28a793b22cf5415000029' (length=24)
- 'name' => string 'test1' (length=5)
- 'sex' => string 'formale' (length=7)
- 'age' => int 21
六、删除文档
- try {
- $mongo = new MongoClient();
- $db = $mongo->mydb;
- $mycol = $db->mycol;
- $mycol->remove(array('name'=>'test1'));
- $mongoCursor = $mycol->find();
- foreach ($mongoCursor as $document) {
- var_dump($document);
- }
- } catch (MongoConnectionException $e) {
- echo $e->getMessage();
- }
remove方法
- public bool|array MongoCollection::remove ([ array $criteria = array() [, array $options = array() ]] )
options删除的选项:
“w”:抛出异常的级别,默认是1;
“justOne”:最多只删除一个匹配的记录;
“fsync”:Boolean, defaults to FALSE
. Forces the insert to be synced to disk before returning success. If TRUE
, an acknowledged insert is implied and will override setting w to 0.
“timeout”:Integer, defaults to MongoCursor::$timeout. If "safe" is set, this sets how long (in milliseconds) for the client to wait for a database response. If the database does not respond within the timeout period, aMongoCursorTimeoutException will be thrown.
......
其他方法可参见php手册:http://php.net/manual/zh/book.mongo.php
mongodb php的更多相关文章
- 【翻译】MongoDB指南/聚合——聚合管道
[原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- CRL快速开发框架系列教程十二(MongoDB支持)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- MongoDB系列(二):C#应用
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...
- MongoDB系列(一):简介及安装
什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为应用提供可扩展的高 ...
- [原]分享一下我和MongoDB与Redis那些事
缘起:来自于我在近期一个项目上遇到的问题,在Segmentfault上发表了提问 知识背景: 对不是很熟悉MongoDB和Redis的同学做一下介绍. 1.MongoDB数组查询:MongoDB自带L ...
- 用MongoDB分析合肥餐饮业
看了<从数据角度解析福州美食>后难免心痒,动了要分析合肥餐饮业的念头,因此特地写了Node.js爬虫爬取了合肥的大众点评数据.分析数据库我并没有采用MySQL而是用的MongoDB,是因为 ...
随机推荐
- Notes for Studying Django
Once you added a new application to INSTALLED_APPS, the database tables need to be updated, thus you ...
- Learning ROS for Robotics Programming - Second Edition(《学习ROS机器人编程-第二版》)
Learning ROS for Robotics Programming - Second Edition <学习ROS机器人编程-第二版> ----Your one-stop guid ...
- 第51讲:Scala中链式调用风格的实现代码实战及其在Spark编程中的广泛运用
今天学习了下scala中的链式调用风格的实现,在spark编程中,我们经常会看到如下一段代码: sc.textFile("hdfs://......").flatMap(_.spl ...
- AutoLayout - VFL
其实很早就像整理出一份VFL的总结出来,觉得有很多东西可以写,但是真正去总结的时候发现,VFL也并没有很多东西,其实应该是在布局的过程中直接用VFL语句思考的过程比较难以形成,多数布局问题其实是在实际 ...
- cas+shiro实现不时时的去请求cas进行身份验证
cas+shiro不进行时时去cas验证身份信息,需要用shiro在当前系统有一份完整的认证机构. 那么有一个问题,什么时候去cas校验信息,目前的配置方式: cas系统设置默认的浏览器session ...
- 【整理】--C++三种参数传递方式
在C++中,共有三种参数传递方式: 按值传递(pass by value) 地址传递(pass by pointer) 引用传递(pass by reference) (1)按值传递的过程为:首先计算 ...
- html+css实现简易下拉菜单
<!DOCTYPE html> <html> <head> <style> div { width:100px; height:40px; overfl ...
- Windows服务器安全加固实战(Windows Server 2008 R2和Windows Server 2012)
最近我们立方技术工作室在使用阿里云的过程中,发现服务器安全性也不是很高,而服务端的安全软件都很贵.为了为朋友们提供更加有效的解决方案,我们决定身体力行,高筑墙,大幅度提升服务器的安全防护级别! 主机安 ...
- 【Win10】UAP/UWP/通用 开发之 x:DeferLoadStrategy
[Some information relates to pre-released product which may be substantially modified before it's co ...
- Sql Server对象管理器的使用
VS提供了很多便捷的工具,Sql Server对象管理器可以直接在VS里面访问数据库,不用再打开一个Management Studio.这里记录下Sql Server对象管理器的使用. 1.先在视图里 ...