PHP操作Mongodb之增刪改查篇

來源:互聯網
上載者:User

標籤:

之前,我講解過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("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之增刪改查篇

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.