php操作mongoDB实例分析

本文实例讲述了php操作mongoDB的方法。分享给大家供大家参考。具体分析如下:

mongoDB数据库是一种以json格式存储的数据库,非常适用于各种应用开发,这里就来给各位朋友介绍一些mongoDB学习实例.

mongodb想要整合PHP,需要安装Mongo扩展,这个比较简单,现在说一下MongoDB PHPAPI  及用法.

先看一个简单的例子,实例代码如下:

代码如下:

<?php
 $m = new Mongo();  //这里采用默认连接本机的27017端口,当然你也可以连接远程主机如 192.168.0.4:27017,如果端口是27017,端口可以省略
 $db = $m -> comedy;  // 选择comedy数据库,如果以前没该数据库会自动创建,也可以用$m->selectDB("comedy");
 $collection = $db->collection;  //选择comedy里面的collection集合,相当于RDBMS里面的表,也-可以使用
 $db->selectCollection("collection");
 $obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
 $collection->insert($obj); //将$obj 添加到$collection 集合中
 $obj = array( "title" => "XKCD", "online" => true );
 $collection->insert($obj);
$cursor = $collection->find();
 foreach ($cursor as $obj) {  //遍历所有集合中的文档
 echo $obj["title"] . "n";
 }
$m->close(); //断开MongoDB连接

下面在介绍一些常用的函数,Php代码如下:

代码如下:

$query = array( "i" => 71 );
 $cursor = $collection->find( $query );// 在$collectio集合中查找满足$query的文档
 while( $cursor->hasNext() ) {
 var_dump( $cursor->getNext() );
 } 
 
 $collection -> findOne();//返回$collection集合中第一个文档 
 $collection -> count();  //返回$collection集合中文档的数量 
 $coll->ensureIndex( array( "i" => 1 ) );  // 为i “这一列”加索引 降序排列
 $coll->ensureIndex( array( "i" => -1, "j" => 1 ) );  // 为i “这一列”加索引 降序排列 j升序

查询时,每个Object插入时都会自动生成一个独特的_id,它相当于RDBMS中的主键,用于查询时非常方便,Php代码如下:

代码如下:

<?php 
 $person = array("name" => "joe"); 
 $people->insert($person); 
  $joe = $people->findOne(array("_id" => $person['_id'])); 
?>

更新时:假如我们想修改下面文档中comments中author的名字,Php代码如下:

代码如下:

{
     "_id" : ObjectId("4b06c282edb87a281e09dad9"),
     "content" : "this is a blog post.",
     "comments" :
     [
         {
             "author" : "Mike",
             "comment" : "I think that blah blah blah...",
         },
         {
             "author" : "John",
             "comment" : "I disagree."
         }
     ]
}

为了改变内部的一个域,我们用 $set,保证文档中其他域不被移除,并且comment的索引也变化,Php代码如下:

代码如下:

<?php
$collection->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim")))); //$criteria 为要更新的元素 
?>

删除一个数据库,Php代码如下:

代码如下:

$m -> dropDB("comedy");

列出所有可用数据库,Php代码如下:

代码如下:

$m->listDBs(); //无返回值

好了就先写这么多了,有兴趣的话可以在网上搜到其他的关于Mongo-php API的用法.

命令行使用实例:

1. db.system.users.find()
 
2. db.users.count()
 
3. db.users.ensureIndex({password:-1})
 
4. use test
 
5. db.users.getIndexes()
 
6. db.repairDatabase()
 
7. show users
 
8. show dbs
 
9. db.users.find({username:{$in:['4d81a82398790']}}).explain()
 
10. db.users.dropIndexes()
 
11. db.users.find().count()
 
12. db.users.find().limit(5)
 
13. db.users.find({"username":"ssa"}) 
 
14. show collections
 
15. db.users.remove()
 
16. db.user.remove({'username':'admin'})
 
17. db.user.insert({'username':'admin','age':21,'nickname':'admin'})
 
18. db.user.save({'username':'admin','age':21,'info':['12','12313','zzsd']})
 
19. db.createCollection("user") 
 
20. db.dropDatabase()
 
21. show collections
 
22. db.test.drop()
 
23. db.copyDatabase('test','test1')
 
24. show profile
 
25. db.printCollectionStats()
 
26. db.addUser('admin','admin123') 
 
27. db.setProfilingLevel(2);
 
28. db.setProfilingLevel( 1 , 10 );
 
29. db.system.profile.find()

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • PHP7之Mongodb API使用详解

    编译安装PHP7 编译安装PHP7 Mongdb扩展 #先安装一个依赖库yum -y install openldap-develwget https://pecl.php.net/get/mongodb-1.1.1.tgz /home/server/php7/bin/phpize   #根据自己编译的PHP环境而定./configure --with-php-config=/home/server/php7/bin/php-config make && make install#如果成功

  • MongoDB的PHP驱动方法与技巧

    创建索引有时会阻塞新的连接 当与mongodb复制集建立连接时,驱动程序首先尝试连接并验证集群中每个非 隐藏的节点.如果一个节点是"down"状态,将跳过.然而,如果一个节点是"UP"状态,但是持有写锁,那么验证将没法执行下去,因此该驱动程序将被挂起了. 在mongodb 2.6版本前,在建立索引时的通病.所有的在前台或后台创建索引,在secondary端将在前台创建. 在PHP驱动程序的1.5.3版本会有所改进,在创建索引时,允许验证到second节点验证. 减少

  • php操作MongoDB类实例

    本文实例讲述了php操作MongoDB类的方法.分享给大家供大家参考.具体如下: 1. MyMongo.php文件: <?php /** * 仿写CI的MongoDB * @author sparkHuang 2011-11-03 * */ class MyMongo { private $mongo_config = "mongo_config.php"; private $connection; private $db; private $mongo_connect_stri

  • php实现Mongodb自定义方式生成自增ID的方法

    本文实例讲述了php实现Mongodb自定义方式生成自增ID的方法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: //首先创建一个自动增长id集合 ids >db.ids.save({name:"user", id:0}); //可以查看一下是否成功 > db.ids.find(); { "_id" : ObjectId("4c637dbd900f00000000686c"), "name" : &q

  • PHP中的mongodb group操作实例

    紧接着上篇来,这篇主要讲,mongodb的group功能,做的还是挺强大的,相当对于find(),skip(),distinct()等,用法比较复杂. 测试数据: 复制代码 代码如下: > db.fruit.find();  { "_id" : 1, "category" : "fruit", "name" : "apple" }  { "_id" : 2, "categ

  • Ubuntu下安装PHP的mongodb扩展操作命令

    在 https://pecl.php.net/package/mongo 下载 PHP的mongodb扩展的源码 复制代码 代码如下: $ wget -c https://pecl.php.net/get/mongo-1.6.9.tgz $ tar zxvf mongo-1.6.9.tgz $ cd mongo-1.6.9 $ phpize $ ./configure $ make all $ make test $ sudo make install

  • Linux安装PHP MongoDB驱动

    PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身. 在php中使用mongodb你必须使用 mongodb 的 php驱动. 本文是小编在部署生产环境的时候简单记录. 1. 下载PHP的mongodb驱动安装包mongodb-1.1.9.tgz wget https://pecl.php.net/get/mongodb-1.1.9.tgz 2. 解压驱

  • php操作mongoDB实例分析

    本文实例讲述了php操作mongoDB的方法.分享给大家供大家参考.具体分析如下: mongoDB数据库是一种以json格式存储的数据库,非常适用于各种应用开发,这里就来给各位朋友介绍一些mongoDB学习实例. mongodb想要整合PHP,需要安装Mongo扩展,这个比较简单,现在说一下MongoDB PHPAPI  及用法. 先看一个简单的例子,实例代码如下: 复制代码 代码如下: <?php  $m = new Mongo();  //这里采用默认连接本机的27017端口,当然你也可以连

  • JS中FRAME的操作问题实例分析

    本文实例探讨了JS中FRAME的操作问题,分享给大家供大家参考.具体分析如下: 以上图为例,在这里把frame之间的互相操作简单列为:1变量2方法3页面之间元素的互相获取. 一.  首先从 父(frameABC)------->子(frameA,frameB,frameC) ① 访问变量名name 假如在frameABC中操作那么可以: 复制代码 代码如下: window.frames("frameA").contentWindow.name 或者 复制代码 代码如下: docu

  • JAVA操作XML实例分析

    本文实例讲述了JAVA操作XML的方法.分享给大家供大家参考.具体如下: java代码如下: 复制代码 代码如下: import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.w3c.dom.*; import org.xml.sax.SAXException; import javax.xml.

  • pymssql数据库操作MSSQL2005实例分析

    本文实例讲述了pymssql数据库操作MSSQL2005的方法.分享给大家供大家参考.具体如下: 使用的MSSQL2005,通过pymssql来连接的.把可能用到的数据库操作方式都总结如下,如果要用的时候就备查啦. #!/usr/bin/env python #coding=utf-8 from __future__ import with_statement from contextlib import closing import inspect import pymssql import

  • JSP针对XML文件操作技巧实例分析

    本文实例讲述了JSP针对XML文件操作技巧.分享给大家供大家参考,具体如下: XML(Extensible Markup   Language)可扩展标记语言,这个基础知识在早些已经学习过.而这篇教程为什么把它放在J2EE下边呢,因为他也是J2EE的13规范之一,虽然XML是W3C万维网组织联盟指定的,并做了规范,所以说也是一种规范,我们也必须按照规范来,和JDBC,Servlet,Jsp,Ejb等一样的. 前边的文章已经介绍了XML的一些基础知识,主要是用来存储,传输数据的,但是这些数据我们怎

  • php数组索引与键值操作技巧实例分析

    本文实例讲述了php数组索引与键值操作技巧.分享给大家供大家参考.具体如下: <?php $array = array("a", "b","c"); //定义数组 $array[] = "Simon"; //增加一个新的数组元素 print_r($array); //输出数组 ?> <?php $array = array("a", "b","c")

  • Node.js中使用mongoskin操作mongoDB实例

    一.废话 从13年1月份接触mongodb进行开发,开发了旅游标签服务.微博标签检索系统.地图服务.web APP服务...使用MongoDB的场景从.NET.JAVA环境转到了node.js平台.越发觉Node.js和mongodb结合感觉的很好.感觉mongodb和node.js是天生的一对.的确,mongodb的客户端是JS的解析引擎.因此,选择mongodb和node.js做产品原型也是很nice的选择.网上,遇到网友询问mongodb的开发,选择哪个driver最好,以前一直是使用原生

  • MongoDB系列教程(六):java操作mongodb实例

    java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作. 首先我们进入进入admin数据库,然后建立自己的数据库testMongoDb,进入admin数据库后,就可以直接进入testMongoDb,因为用户可以进入系统的数据库,就是超级管理员,use testMongoDb后,为该数据库设置用户名和密码,db.addUser('root','root'),这样我们在程序中连该数据库,并实现增删改查,代码如下所示.

  • C#中简单的拆箱操作用法实例分析

    本文实例讲述了C#中简单的拆箱操作用法.分享给大家供大家参考.具体如下: C#中拆箱是允许将引用作为值类型的进行处理的过程.下面这段代码实现将object转换成int类型 using System; class ConversionSample { static void Main() { Object obj = 123; int num1 = (int)obj; Console.WriteLine(num1.ToString()); Console.WriteLine(obj.ToStrin

  • jQuery中DOM操作原则实例分析

    本文实例讲述了jQuery中DOM操作原则.分享给大家供大家参考,具体如下: 一丶Get and Set in One(读写一体) 原则 为了更加易于使用,jQuery提供了简洁的DOM操作API,其方法往往是读写一体的.也就是说,某个方法既可用于读取操作,也可用于设置操作.如果没有为其传入表示值的参数,则表示获取操作,将返回获取到的数据:如果为其传入了表示值的参数,则表示设置操作,它将设置DOM元素指定属性的值. 示例代码 // 没有传入value参数,返回第一个匹配元素的value元素 va

随机推荐