数据库

 首页 > 数据库 > MongoDB > PHP程序中使用MongoD详解

PHP程序中使用MongoD详解

分享到:
【字体:
导读:
         摘要:上一篇,简单介绍了php中使用MongoDB的简单例子,这一篇还有以后,会详细分析如何在PHP中使用MongoDB。1,php中连接MongoDB。在php中连接MongoDB中有很多方法,最简单的就是new一个mongo对象,就可以连接成功了。/**php中连接MongoDB.**/$mongonewM...

PHP程序中使用MongoD详解

上一篇,简单介绍了php中使用MongoDB的简单例子,这一篇还有以后,会详细分析如何在PHP中使用MongoDB。

1,php中连接MongoDB。

在php中连接MongoDB中有很多方法,最简单的就是new 一个mongo对象,就可以连接成功了。

/*
 * php中连接MongoDB.
 *
 */
$mongo = new Mongo();//实例化了一个Mongo类,并且与默认的localhost:27017端口的本地mongoDB建立连接。
//如果想连接到其他的主机,可以这样写:
$mongo= new Mongo("mongodb://username:password@192.168.1.22:27017");
$mongo->connect(); //这一步,是连接之用,可以省略,因为new mongo()的时候,已经默认连接了。
$mongo->close(); //最后一步,关闭MongoDB数据库,以来释放资源。
2,Mongo类的使用。

我们先看一张图,是官方手册。关于MongoDB的核心类库。我们看第一个,Mongo类的使用。

点击Mongo类连接进去,我们发现Mongo类有很多方法,我们主要讨论最常用到的方法。

public bool Mongo::close (void )  // 关闭连接

public bool Mongo::connect (void ) // 进行连接

public array Mongo::dropDB (mixed$db ) //删除数据库

public array Mongo::listDBs (void ) //列出所有的数据库

public MongoCollection Mongo::selectCollection(string$db , string$collection ) //选择一个数据库下的集合。

public MongoDB Mongo::selectDB (string$name ) //选择数据库

那么Mongo类怎么用,如何才能得到Mongo类,才能使用以上的函数。其实,当我们$mongo = new Mongo( ) 的时候,就实例化了一个mongo对象,那么,此时这个$mongo就是一个mongo类了,就可以调用它的以上函数来操作数据库了。

/*
 * php中Mongo类的使用.
 *
 */
$mongo = new Mongo(); //new 一个mongo类,那么此时,$mongo就是一个mongo类了。
$mongo->connect();  //调用connect方法,来保持连接。
//$mongo->close();  //调用close方法,关闭数据库连接。
$alldb= $mongo->listDBs(); //调用listDBs方法,返回$alldb这个多维数组。显示所有的数据库。
$mongodb = $mongo->selectDB("php"); //调用selectDB(),选择数据库。返回$mongodb,是mongoDB类,等下介绍。
//$mongodb = $mongo->php; //等同selectDB()函数,选择数据库。
$MongoCollection = $mongo->selectCollection("php","blog");//调用selectCollection()方法,这个比较特殊,可以快速选择一个库里面的集合。
$db = $mongo->dropDB("asp");//调用dropDB()方法,来删除某个数据库。
echo "
";
var_dump($all);
echo "
";
通过上面的例子我们可以选择数据库,删除数据库等。但是问题来了,为什么没有创建数据库。其实理论上来讲来讲当,$mongo->php,没有这个库时候,这样子是可以创建一个新的数据库php的。一般我们是数据库中有,我们来选择调用。
3,MongoDB类的使用。

MongoDB类,顾名思义,是选择了数据库后,返回使用的类,即是:$MongoDB = $Mongo->selectDB("php"),$MongoDB 这就是MongoDB类了。

同样,我们点击MongoDB类连接进去,我们也发现MongoDB类有很多方法和常量什么的,我们也主要是讨论最常用到的方法。

public MongoCollection MongoDB::selectCollection (string$name )

public array MongoDB::listCollections (void )

public MongoCollection MongoDB::createCollection(string $name [, bool $capped = FALSE [,int$size = 0 [,int$max = 0 ]]] )

public array MongoDB::drop (void )

public array MongoDB::command (array$command [,array$options = array() ] )

public array MongoDB::execute (mixed$code [, array$args = array() ] )

下面看例子。详细说一下上面几个比较重要的函数。

/*
 * php中MongoDB类的运用。.
 *
 */
//连接Mongo数据库。新建一个Mongo对象。
$Mongo = new Mongo();
//选择一个数据库,得到一个MongoDB对象。
$Mongodb = $Mongo->selectDB("asp");
//$Mongodb = $Mongo->asp; //和selectDB()一样的效果。
//选择数据库下的一个集合。
$MongoCollection=$Mongodb->selectCollection("blog");//选择php数据库里面的blog集合,如果不存在的话,只要插入数据,也会自动增加,返回一个MongoCollection对象。
//$MongoCollection = $Mongodb->blog;  //和selectCollection()一样的效果。
//列出数据库下所有的集合。
 $allCollection = $Mongodb->listCollections();//返回一个数组,列出所有的集合。
//创建新的集合。
$MongoCollection = $Mongodb->createCollection("shouji");
//删除这个数据库。
$Mongodb->drop();
//聚合中用到command,相当于原生态MongoDB中的runCommand。
$ages = $Mongodb->command(array("distinct" => "people", "key" => "age")); //运用distinct过滤,后续还有MapReduce复杂运用。
echo "
";
var_dump($MongoCollection);
echo "
";
?>
PHP程序中使用MongoD详解
分享到:
PHP程序使用MongoDB数据库的技巧
PHP程序使用MongoDB数据库的技巧 MongoDB本身有两种整数类型,分别是:32位整数和64位整数,但旧版的PHP驱动不管操作系统是32位还是64位,把所有整数都当做32位整数处理,结果导致64位整数被截断。为了在尽可能保持兼容性的前提下解决这个问题,新版PHP驱动加入了mongo.native-long选项,以期在64位操作系统中把整数都当做...
MongoDB与MySQL数据库基本SQL语句使用对...
MongoDB与MySQL数据库基本SQL语句使用对比 查询: MySQL: SELECT * FROM user Mongo: db.user.find() MySQL: SELECT * FROM user WHERE name = ’starlee’ Mongo: db.user.find({‘name’ : ’starlee’}) 插入: MySQL: INSERT INOT user (`name`, `age`) values (’starlee’,25) Mongo: db.user.insert({‘na...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……