PHP实现对MongoDB的基础操作

PHP扩展                                                                                     

PHP5.2、PHP5.3,线程、非线程,IIS、Apache综合下载地址:

http://pan.baidu.com/s/1sjrW6z7

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

extension=php_mongo.dll

PHP操作                                                                                     

  • 连接数据库
$conn = new Mongo("mongodb://localhost:27017//admin:admin");
  • 选择数据库和集合
复制代码
//选择数据库blog,如果没有,则创建

$db = $conn->yyd;

//也可以写成:$db = $conn->selectDB('yyd');


//制定结果集(集合:yyd_test)
$collection = $db->yyd_test;

//也可以写成:$collection = $db->selectCollection('yyd_test');
//var_dump($collection);
复制代码
  • 新增数据
$post = array('name' => '22', 'sex' => '32');

$flag=($collection->insert($post));
var_dump($flag);

image

image

  • 查找数据
复制代码
$arr=array();
$cursor = $collection->find($arr);
foreach($cursor as $key => $value){
    echo "<pre>";
    echo $value['_id'];
    echo '<br>name:';
    echo $value['name'];
    echo "<br>sex:";
    echo $value['sex'];
    echo "</pre>";
}
复制代码

image

  • 条件查找
$arr=array("name"=>"22");
$cursor = $collection->find($arr);
  • 修改数据

image

复制代码
$newdata = array('$set' => array("email" => "test@test.com"));
$collection->update(array("name" => "22"), $newdata);
var_dump($collection);

$arr=array("name"=>"22");
$cursor = $collection->find($arr);
foreach($cursor as $key => $value){
    echo "<pre>";
    echo $value['_id'];
    echo '<br>name:';
    echo $value['name'];
    echo "<br>sex:";
    echo $value['sex'];
    echo "<br>email:";
    echo $value['email'];
    echo "</pre>";
}
复制代码
  • 删除数据

image

$arr=array("name"=>"22");

$collection->remove($arr);

var_dump($collection);

image

  • 其它常用操作
复制代码
//关闭连接

$conn->close();


//删除一个数据库

$conn->dropDB("yyd");


//列出所有可用数据库

$dbs = $conn->listDBs();
复制代码

 

带有MongoDB操作函数的的PHP手册:

http://pan.baidu.com/s/1pJz2llh

或者网站:

http://www.php.net/manual/zh/class.mongodb.php

 

 

 

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3571430.html

posted @   我爱物联网  阅读(1567)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
AmazingCounters.com
点击右上角即可分享
微信分享提示