Mongodb CURD By PHP

用户使用MongoDB开发应用程序使用的是逻辑结构: 

● MongoDB的文档,相当于关系数据库中的一行记录 

● 多个文档组成一个集合,相当于关系数据库中的表 

● 多个集合逻辑上组织在一起就是数据库

20120619014709756

 

在安装配置好MongoDB后,我们开始用PHP来实现对数据库的基本操作。所谓基本操作,自然就是我们常说的增删改查(又称CRUD)了。

一、PHP扩展配置

PHP默认是不带mongodb扩展的,在http://www.php.net/manual/en/mongo.installation.php可以下载到各个版本下PHP的mongodb扩展库。

我的PHP版本:5.3.1     VC6编译版

下载相对应的php扩展文件php_mongo.dll,拷入php扩展文件夹里/php/ext,修改php.ini文件,新增下列行:

extension=php_mongo.dll

二、PHP CRUD之旅

1、连接数据库

mongodb默认的初始用户名和密码均为admin。

建立文件mongotest.php,设置连接所需用户名和密码,建立数据库连接

  1. <?php  
  2. $conn = new Mongo(“mongodb://localhost:27017//admin:admin”);  
  3. //默认用户和密码为admin
  4. //选择数据库blog,如果没有,则创建
  5. $db = $conn->blog;  
  6. //也可以写成:$db = $conn->selectDB(‘blog’);
  7. //制定结果集(表名:posts)
  8. $collection = $db->posts;  
  9. //也可以写成:$collection = $db->selectCollection(‘posts’);
  10. ?> 

这样就成功创建了blog数据库和新的数据集posts(相当于SQL中的数据表概念)

2、新增数据(Create)

  1. //新增一条blog posts
  2. $post = array(‘title’ => ‘第一篇博客’, ‘content’ => ‘这是第一篇博客的内容.’);  
  3. $collection->insert($post); 

新增成功后,数据内容为:

  1. array(3) { [“_id”]=> object(MongoId)#8 (1) { [“$id”]=> string(24) “4ee0799de1fecdbc16000001″ } [“title”]=> string(15) “第一篇博客” [“content”]=> string(31) “这是第一篇博客的内容.” } 

3、查询数据(Read)

  1. //查找
  2. $cursor = $collection->find();  
  3. foreach($cursor as $key => $value){  
  4.     var_dump($value);  

4、修改数据(Update)

  1. $newdata = array(‘$set’ => array(“content”=>”这是更新过的第一篇博客的内容.”));  
  2. $collection->update(array(“title” => “第一篇博客”), $newdata); 

更新成功后的数据内容为:

  1. array(3) { [“_id”]=> object(MongoId)#7 (1) { [“$id”]=> string(24) “4ee0799de1fecdbc16000001″ } [“content”]=> string(43) “这是更新过的第一篇博客的内容.” [“title”]=> string(15) “第一篇博客” } 

5、删除数据(Delete)

  1. //删除
  2. $collection->remove(array(‘title’=>’第一篇博客’)); 

6、其它常用操作

  1. //关闭连接
  2. $conn->close();  
  3. //删除一个数据库
  4. $conn->dropDB(“blog”);  
  5. //列出所有可用数据库
  6. $dbs = $conn->listDBs(); 

呵呵,基本的CRUD操作完了,感兴趣的话,可以去网上查找到其它相关php-mongodb API的具体用法。

来源:http://blog.csdn.net/kangqing2003/article/details/7049767

About 智足者富

http://chenpeng.info

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>