当前位置:Gxlcms > 数据库问题 > PHP操作Mongodb之增删改查篇

PHP操作Mongodb之增删改查篇

时间:2021-07-01 10:21:17 帮助过:2人阅读

//连接数据库 $connnect = new Mongo("mongodb://127.0.0.1:27017"); //选择数据库 $db = $connnect->selectDB(‘mydb‘)->selectCollection("user"); //整理需要插入的数据 $array = array(); $array[‘id‘] = 1; $array[‘name‘] = ‘php‘; $array[‘age‘] = 25; //插入数据 $db->insert($array); ?>

这样,就将一条数据插入到mydb的user集合里了。当然,上面的$db->insert($array);也可以换成$db->save($array);。insert()和save()的区别在于:若存在主键,insert()不做操作,而save()则更改原来的内容为新内容。

 

2、查询数据

语法格式:

$db->find(array(‘_id‘ => new MongoId($id)));  //参数可以为空,那么就查询所有数据

例如,我们查询数据库中的所有数据,代码如下:

<?php
    //连接数据库
    $connnect = new Mongo("mongodb://127.0.0.1:27017");
    //选择数据库
    $db = $connnect->selectDB(‘mydb‘)->selectCollection("user");
    //查询数据
    $cursor = $db->find();
    $array = array();
    while($cursor->hasNext()) {
        $array[] = $cursor->getNext();
    }
    echo "<pre>";
    print_r($array);
?>

运行结果如下:

技术分享

可见数据已经取出来了。如只想取出一条数据。可以使用$db->findOne();,这时候,只会取出第一个文档的数据。

特定条件的查询

例如,我们要查询年纪大于25的成员的信息,就在find()中写条件,代码如下:

<?php
    //连接数据库
    $connnect = new Mongo("mongodb://127.0.0.1:27017");
    //选择数据库
    $db = $connnect->selectDB(‘mydb‘)->selectCollection("user");
    //查询条件
    $cursor = $db->find(array(‘age‘ => array(‘$gt‘ => 25)));

    $array = array();
    while($cursor->hasNext()) {
        $array[] = $cursor->getNext();
    }
?>

 

需要注意的是‘$gt‘,是单引号!

 

3、修改数据

语法格式:

$db->update(array(‘_id‘ => new MongoId($id)), $array);  //第一个参数为指定的条件,第二个参数为要更新的对象

例如我们修改ID为537097b59067916c06000003的数据,代码如下:

<?php
    //连接数据库
    $connnect = new Mongo("mongodb://127.0.0.1:27017");
    //选择数据库
    $db = $connnect->selectDB(‘mydb‘)->selectCollection("user");
    //需要修改的数据
    $array = array();
    $array[‘id‘] = 1;
    $array[‘name‘] = ‘java‘;
    $array[‘age‘] = 25;
    $db->update(array(‘_id‘ => new  MongoId(‘537097b59067916c06000003‘)), $array);
?>

这就ID为537097b59067916c06000003的数据进行了修改。

 

4、删除数据

语法格式:

$db->remove(array(‘_id‘ => new MongoId($id)), array(‘justOne‘ => True));  //第一个参数为指定的条件,如果加了justOne的参数,则只删除符合条件的一条记录而已,其他不删除

例如我们删除ID为5370a05d4b628998570cdf6d的数据,代码如下:

<?php
    //连接数据库
    $connnect = new Mongo("mongodb://127.0.0.1:27017");
    //选择数据库
    $db = $connnect->selectDB(‘mydb‘)->selectCollection("user");
    //需要删除的数据
    $db->remove(array(‘_id‘ => new MongoId(‘5370a05d4b628998570cdf6d‘)));
?>

 

这就ID为5370a05d4b628998570cdf6d的数据就被删除了。

PHP操作Mongodb之增删改查篇

标签:

人气教程排行