首先安装扩展,然后才能使用mongodb

一、连接数据库

  1. try {
  2. $mongo = new MongoClient();
  3. $db = $mongo->mydb;
  4. var_dump($db);
  5. } catch (MongoConnectionException $e) {
  6. echo $e->getMessage();
  7. }

该代码可以连接mydb数据库,如果该数据库不存在则自动创建。

二、创建集合

  1. try {
  2. $mongo = new MongoClient();
  3. $db = $mongo->mydb;
  4. $mycol = $db->createCollection('mycol');
  5. var_dump($mycol);
  6. } catch (MongoConnectionException $e) {
  7. echo $e->getMessage();
  8. }

该代码可以创建集合mycol。

三、插入文档

mongodb中使用insert()来插入文档。

  1. try {
  2. $mongo = new MongoClient();
  3. $db = $mongo->mydb;
  4. $mycol = $db->mycol;
  5.  
  6. $document = array('name' => 'test1' , 'sex' => 'formale' , 'age' => 20);
  7. $res = $mycol->insert($document);
  8. var_dump($res);
  9. } catch (MongoConnectionException $e) {
  10. echo $e->getMessage();
  11. }

输出:

  1. array (size=4)
  2. 'ok' => float 1
  3. 'n' => int 0
  4. 'err' => null
  5. 'errmsg' => null

四、查找文档

mongodb使用find()来查找文档

  1. try {
  2. $mongo = new MongoClient();
  3. $db = $mongo->mydb;
  4. $mycol = $db->mycol;
  5.  
  6. $mongoCursor = $mycol->find();
  7. foreach ($mongoCursor as $document) {
  8. var_dump($document);
  9. }
  10. } catch (MongoConnectionException $e) {
  11. echo $e->getMessage();
  12. }

结果:

  1. array (size=4)
  2. '_id' =>
  3. object(MongoId)[7]
  4. public '$id' => string '56c28a793b22cf5415000029' (length=24)
  5. 'name' => string 'test1' (length=5)
  6. 'sex' => string 'formale' (length=7)
  7. 'age' => int 20

五、更新文档

使用update()来更新文档

  1. try {
  2. $mongo = new MongoClient();
  3. $db = $mongo->mydb;
  4. $mycol = $db->mycol;
  5.  
  6. $mycol->update(array('name'=>'test1') , array('$set'=>array('age' => 21)));
  7. $mongoCursor = $mycol->find();
  8. foreach ($mongoCursor as $document) {
  9. var_dump($document);
  10. }
  11. } catch (MongoConnectionException $e) {
  12. echo $e->getMessage();
  13. }

结果

  1. array (size=4)
  2. '_id' =>
  3. object(MongoId)[7]
  4. public '$id' => string '56c28a793b22cf5415000029' (length=24)
  5. 'name' => string 'test1' (length=5)
  6. 'sex' => string 'formale' (length=7)
  7. 'age' => int 21

六、删除文档

  1. try {
  2. $mongo = new MongoClient();
  3. $db = $mongo->mydb;
  4. $mycol = $db->mycol;
  5.  
  6. $mycol->remove(array('name'=>'test1'));
  7. $mongoCursor = $mycol->find();
  8. foreach ($mongoCursor as $document) {
  9. var_dump($document);
  10. }
  11. } catch (MongoConnectionException $e) {
  12. echo $e->getMessage();
  13. }

remove方法

  1. 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的更多相关文章

  1. 【翻译】MongoDB指南/聚合——聚合管道

    [原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...

  2. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

  3. 【翻译】MongoDB指南/CRUD操作(三)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...

  4. 【翻译】MongoDB指南/CRUD操作(二)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...

  5. 【翻译】MongoDB指南/CRUD操作(一)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...

  6. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. MongoDB系列(二):C#应用

    前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...

  8. MongoDB系列(一):简介及安装

    什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为应用提供可扩展的高 ...

  9. [原]分享一下我和MongoDB与Redis那些事

    缘起:来自于我在近期一个项目上遇到的问题,在Segmentfault上发表了提问 知识背景: 对不是很熟悉MongoDB和Redis的同学做一下介绍. 1.MongoDB数组查询:MongoDB自带L ...

  10. 用MongoDB分析合肥餐饮业

    看了<从数据角度解析福州美食>后难免心痒,动了要分析合肥餐饮业的念头,因此特地写了Node.js爬虫爬取了合肥的大众点评数据.分析数据库我并没有采用MySQL而是用的MongoDB,是因为 ...

随机推荐

  1. Notes for Studying Django

    Once you added a new application to INSTALLED_APPS, the database tables need to be updated, thus you ...

  2. Learning ROS for Robotics Programming - Second Edition(《学习ROS机器人编程-第二版》)

    Learning ROS for Robotics Programming - Second Edition <学习ROS机器人编程-第二版> ----Your one-stop guid ...

  3. 第51讲:Scala中链式调用风格的实现代码实战及其在Spark编程中的广泛运用

    今天学习了下scala中的链式调用风格的实现,在spark编程中,我们经常会看到如下一段代码: sc.textFile("hdfs://......").flatMap(_.spl ...

  4. AutoLayout - VFL

    其实很早就像整理出一份VFL的总结出来,觉得有很多东西可以写,但是真正去总结的时候发现,VFL也并没有很多东西,其实应该是在布局的过程中直接用VFL语句思考的过程比较难以形成,多数布局问题其实是在实际 ...

  5. cas+shiro实现不时时的去请求cas进行身份验证

    cas+shiro不进行时时去cas验证身份信息,需要用shiro在当前系统有一份完整的认证机构. 那么有一个问题,什么时候去cas校验信息,目前的配置方式: cas系统设置默认的浏览器session ...

  6. 【整理】--C++三种参数传递方式

    在C++中,共有三种参数传递方式: 按值传递(pass by value) 地址传递(pass by pointer) 引用传递(pass by reference) (1)按值传递的过程为:首先计算 ...

  7. html+css实现简易下拉菜单

    <!DOCTYPE html> <html> <head> <style> div { width:100px; height:40px; overfl ...

  8. Windows服务器安全加固实战(Windows Server 2008 R2和Windows Server 2012)

    最近我们立方技术工作室在使用阿里云的过程中,发现服务器安全性也不是很高,而服务端的安全软件都很贵.为了为朋友们提供更加有效的解决方案,我们决定身体力行,高筑墙,大幅度提升服务器的安全防护级别! 主机安 ...

  9. 【Win10】UAP/UWP/通用 开发之 x:DeferLoadStrategy

    [Some information relates to pre-released product which may be substantially modified before it's co ...

  10. Sql Server对象管理器的使用

    VS提供了很多便捷的工具,Sql Server对象管理器可以直接在VS里面访问数据库,不用再打开一个Management Studio.这里记录下Sql Server对象管理器的使用. 1.先在视图里 ...