注意,本文所有的代碼實(shí)例均以php代碼做演示。
安裝mongodb擴(kuò)展
擴(kuò)展包安裝地址:https://pecl.php.net/package/mongodb
下載最穩(wěn)定的版本,然后把擴(kuò)展包上傳到服務(wù)器上。
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
#?解壓 tar?zxf?mongodb-1.8.0.tgz? cd?mongodb-1.8.0 #?安裝 /usr/local/php/bin/phpize ./configure?--with-php-config=/usr/local/php/bin/php-config? make?&?make?install #?修改php配置文件php.ini #?加入一行extension=mongodb #?測(cè)試 php?-m?|?grep?mongodb
mongodb擴(kuò)展教程:https://docs.mongodb.com/php-library/current/reference/
使用phplib
composer?require?mongodb/mongodb
插入文檔
和Mysql類似,MongoDB插入文檔也能插入單條或多條。下面看插入單條:
$mongo?=?new?MongoDBClient(); $collect?=?$mongo->users->users; $collect->insertOne(['name'=>?'james',?'age'?=>?35]);
如果沒(méi)有聲明_id字段,該操作會(huì)自動(dòng)為新文檔創(chuàng)建一個(gè)_id字段。當(dāng)然,我們也可以手動(dòng)指定_id的值
$collect->insertOne(['_id'?=>?1,'name'=>?'james',?'age'?=>?35]);
該函數(shù)執(zhí)行成功返回 MongoDBInsertOneResult object,失敗則會(huì)拋出異常。
接下來(lái)看如何插入多個(gè)文檔:
$collect->insertMany([ ????[?'name'=>'paul',?'age'?=>?34], ????[?'name'=>'durant',?'age'?=>?31], ????[?'name'=>?'curry',?'age'?=>?31] ]);
需要注意的是,在批量插入的時(shí)候,如果其中有一個(gè)文檔插入失敗,后面的就不會(huì)繼續(xù)插入,但前面的會(huì)插入。
#?第一條會(huì)插入成功,第二條時(shí)插入失敗,后面的也不會(huì)繼續(xù)插入 $collect->insertMany([ ????[?'name'=>'paul',?'age'?=>?34], ????['_id'=>?1,?'name'=>?'jeans',?'age'?=>?1],?//?_id=1已存在 ????[?'name'=>'durant',?'age'?=>?31], ????[?'name'=>?'curry',?'age'?=>?31] ]);
如想忽略錯(cuò)誤,繼承插入,則需給該方法添加個(gè)選項(xiàng)ordered,設(shè)置為false.
$collect->insertMany([ ????[?'name'=>'jay',?'age'?=>?34], ????['_id'=>?1,?'name'=>?'jeans',?'age'?=>?1],?//?_id=1已存在 ????[?'name'=>'xtf',?'age'?=>?31], ],['ordered'?=>?false]);
注意:上述遇到錯(cuò)誤能夠插入成功,但是該語(yǔ)句會(huì)拋出異常。如想忽略錯(cuò)誤,繼續(xù)程序的執(zhí)行,則需要去捕獲異常。
刪除文檔
注意:刪除是危險(xiǎn)操作,不能恢復(fù),不能撤回。
通過(guò)查詢語(yǔ)句刪除文檔:
/** ?*?目前有4個(gè)name為james的文檔 ?*/ ? #?刪除一個(gè)文檔 $ret?=?$collect->deleteOne(['name'=>'james']); printf($ret->getDeletedCount());??//?1 #?刪除滿足條件的所有文檔 $ret?=?$collect->deleteMany(['name'=>'james']); printf($ret->getDeletedCount());
刪除所有文檔(其實(shí)是整個(gè)集合都被刪除了):
$collect->drop();
MongoDB文檔的創(chuàng)建以及刪除,使用起來(lái)非常的簡(jiǎn)單。
推薦:《MongoDB視頻教程》