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