Mongodb + PHP 进行增删改查(CRUD)操作教程

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

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

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

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

在安装配置好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,设置连接所需用户名和密码,建立数据库连接

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

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

2、新增数据(Create)

//新增一条blog posts

$post = array(‘title’ => ‘第一篇博客’, ‘content’ => ‘这是第一篇博客的内容.’);

$collection->insert($post);

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

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

3、查询数据(Read)

//查找

$cursor = $collection->find();

foreach($cursor as $key => $value){

var_dump($value);

}

4、修改数据(Update)

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

$collection->update(array(“title” => “第一篇博客”), $newdata);

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

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

5、删除数据(Delete)

//删除

$collection->remove(array(‘title’=>’第一篇博客’));

6、其它常用操作

//关闭连接

$conn->close();

//删除一个数据库

$conn->dropDB(“blog”);

//列出所有可用数据库

$dbs = $conn->listDBs();

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

时间: 2024-10-10 21:29:14

Mongodb + PHP 进行增删改查(CRUD)操作教程的相关文章

JAVA访问数据库之增删改查(CRUD)

上一篇博客介绍了如何使用JAVA连接数据库,那么这一篇将继续为大家介绍如何使用JDBC对数据库的增删改查(CRUD)操作. 这一篇博客中的示例将使用上一篇中生成的H2数据库文件. 查询 查询在数据库的操作中是很重要的,我们把数据保存在数据库中,就是为了我们在需要的时候能够快速.高效的查询出来. /** * 查询 * * @throws Exception */ public void query() throws Exception { Connection conn = getConnecti

nodejs连接mongodb数据库实现增删改查_node.js

准备 1.通过npm命令安装mongodb 2.安装mongodb数据库,这里不详细介绍了,安装网址:http://www.jb51.net/article/82522.htm CRUD操作 在此之前应对MongoDB数据库有所了解,知道它的一些增删查改命令. 1.增加 var MongoClient = require("mongodb").MongoClient; var DB_URL = "mongodb://localhost:27017/chm"; fun

详解Nodejs基于mongoose模块的增删改查的操作_node.js

MongoDB MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换带来的时间空间开销. Mongoose 是MongoDB的一个对象模型工具,它将数据库中的数据转换为JavaScript对象以供你在应用中使用,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单. 安装模块mongoose npm install

[Android] SQLite数据库之增删改查基础操作

    在编程中经常会遇到数据库的操作,而Android系统内置了SQLite,它是一款轻型数据库,遵守事务ACID的关系型数据库管理系统,它占用的资源非常低,能够支持Windows/Linux/Unix等主流操作系统,同时能够跟很多程序语言如C#.PHP.Java等相结合.下面先回顾SQL的基本语句,再讲述Android的基本操作. 一. adb shell回顾SQL语句     首先,我感觉自己整个大学印象最深的几门课就包括<数据库>,所以想先回顾SQL增删改查的基本语句.而在Androi

spring入门((12) spring与hibernate整合完成增删改查的操作

本文是在上一篇博文的基础之上,通过继承HibernateDaoSupport调用hibernateTemplate类,只要将UserDaoImpl.java 改为继承HibernateDaoSupport类,还有spring-dao.xml文件加入对HibernateDaoSupport的配置bean即可,具体实现源码如 下: UserDaoImpl.java package www.csdn.spring.hibernate.dao.copy; import java.util.List; i

winform 窗体实现增删改查(CRUD)共用模式

转载:http://www.csframework.com/archive/2/arc-2-20110617-1632.htm 高度封装的编辑窗体 http://www.cnblogs.com/wuhuacong/archive/2010/05/31/1748579.html 本站原创文章是有针对性地实现一个功能或一个简单的项目. 有很多刚毕业的学生都有着丰富的理论知识,通过学习本站实例源码,我们相信很快提高您的开发经验.但开发较大型项目,光从实践角度来讲还是不够的,尽管少数学生在校期间开发出一

初识Mybatis框架,实现增删改查等操作

此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我的另一篇blogs中有专门的讲解,今天我主要是带着大家来探讨一下如何简单的使用Mybatis这个框架 可能有的朋友知道,Mybatis中是通过配置文件来实现这个的,这里面有很多的东西,我们就一点一点的讲吧 我们想要配置成功,首要的就是jar包,先从官网下载相应的jar包作为程序的支撑 有了jar包之

Yii 2.0框架数据增删改查的操作

新增操作: $model = newUser(); $model->username = 'username'; $model->age      = '20'; $model->insert(); 查询操作: User::find()->all();    此方法返回所有数据: User::findOne($id);   此方法返回 主键 id=1  的一条数据: User::find()->where(['name' => 'username'])->one(

winform 窗体实现增删改查(CRUD)窗体基类模式

参考博客下方:http://www.cnblogs.com/wuhuacong/archive/2010/05/31/1748579.html 对于一般常用到的编辑数据.新增数据窗体,分开了两个不同的窗体进行处理,而且由于BaseForm窗体没有对通用的函数进行进一步的抽象,因此,编辑及新增窗体多了很多重复累赘的代码,其实可以把新增.编辑合并一个窗体,然后根据新增.编辑两种不同的条件进行处理即可. 由于BaseForm一般需要在大多数的窗体中,而新增编辑数据窗体一般较为特殊一点,可以再增加一个基