1. 程式人生 > >PHP操作Mongodb之增刪改查篇

PHP操作Mongodb之增刪改查篇

之前,我講解過PHP中mongodb擴充套件的安裝,及啟動,連結操作【忘記了?去看看吧!PHP操作Mongodb之一】。本文主要就是講在PHP中Mongodb的增加,查詢,修改及刪除資料的操作。

1、增加資料

語法格式:

$db->insert($array);  //引數表示需要插入的資料

例如:我們插入一個id為1,名稱為PHP,年齡為25的資料。程式碼如下:

<?php
    //連線資料庫
    $connnect = new Mongo("mongodb://127.0.0.1:27017");
    //選擇資料庫
    $db = $connnect->selectDB('mydb')->selectCollection("use
r"); //整理需要插入的資料 $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的資料就被刪除了。