php7中MongoDB的使用方法?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
金水網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
提示:PHP的mongodb擴(kuò)展,從5.6開始已經(jīng)廢棄了原來的mongo擴(kuò)展,PHP7的pecl下載地址:https://pecl.php.net/package/mongodb,或者選擇mongodb官方開發(fā):https://github.com/mongodb/mongo-php-library,git上的這個(gè)支持以前mongo寫法,pecl上的mongodb不支持以前的寫法。
下面用PHP7新的API總結(jié)一下:
一:CURD
1:鏈接
root 用戶;123:密碼;如果沒有密碼則不寫
2:查詢
['$gt'=>0]]; //查詢條件 user_id大于0 $options = [ 'projection' => ['_id' => 0], //不輸出_id字段 'sort' => ['user_id'=>-1] //根據(jù)user_id字段排序 1是升序,-1是降序 ]; $query = new MongoDB\Driver\Query($filter, $options); //查詢請求 $list = $manager->executeQuery('location.box',$query); // 執(zhí)行查詢 location數(shù)據(jù)庫下的box集合 foreach ($list as $document) { print_r($document); }查詢更多條件使用方法,參考第二節(jié)mongodb基本命令,查詢
3:添加
flase]);//如果要改成無序操作則加flase,并行執(zhí)行 $bulk->insert(['user_id' => 2, 'real_name'=>'中國',]); $bulk->insert(['user_id' => 3, 'real_name'=>'中國人',]); $manager->executeBulkWrite('location.box', $bulk); //執(zhí)行寫入 location數(shù)據(jù)庫下的box集合4:修改
flase]);//如果要改成無序操作則加flase,并行執(zhí)行 $bulk->update( ['user_id' => 2], ['$set'=>['real_name'=>'中國國'] ]); //$set相當(dāng)于MySQL的 set,這里和mysql有兩個(gè)不同的地方, //1:字段不存在會(huì)添加一個(gè)字段; //2:mongodb默認(rèn)如果條件不成立,新增加數(shù)據(jù),相當(dāng)于insert //如果條件不存在不新增加,可以通過設(shè)置upsert //db.collectionName.update(query, obj, upsert, multi); $bulk->update( ['user_id' => 5], [ '$set'=>['fff'=>'中國國'] ], ['multi' => true, 'upsert' => false] //multi為true,則滿足條件的全部修改,默認(rèn)為true,如果改為false,則只修改滿足條件的第一條 //upsert為 treu:表示不存在就新增 ); $manager->executeBulkWrite('location.box', $bulk); //執(zhí)行寫入 location數(shù)據(jù)庫下的box集合ordered 設(shè)置
1:默認(rèn)是ture,按照順序執(zhí)行插入更新數(shù)據(jù),如果出錯(cuò),停止執(zhí)行后面的,mongo官方叫串行。
2:如果是false,mongo并發(fā)的方式插入更新數(shù)據(jù),中間出現(xiàn)錯(cuò)誤,不影響后續(xù)操作無影響,mongo官方叫并行5:刪除
flase]);//如果要改成無序操作則加flase,并行執(zhí)行 $bulk->delete(['user_id'=>5]);//刪除user_id為5的字段 $manager->executeBulkWrite('location.box', $bulk); //執(zhí)行寫入 location數(shù)據(jù)庫下的box集合delete還可以通過limit設(shè)置不同刪除方式
$bulk->delete(['user_id' => 1], ['limit' => 1]); // limit 為 1 時(shí),刪除第一條匹配數(shù)據(jù) $bulk->delete(['user_id' => 2], ['limit' => 0]); // limit 為 0 時(shí),刪除所有匹配數(shù)據(jù),默認(rèn)刪除所有6:捕獲異常
MongoDB\Driver\Exception\AuthenticationException MongoDB\Driver\Exception\BulkWriteException MongoDB\Driver\Exception\ConnectionException MongoDB\Driver\Exception\ConnectionTimeoutException MongoDB\Driver\Exception\Exception //所有驅(qū)動(dòng)程序異常的公共接口 MongoDB\Driver\Exception\ExecutionTimeoutException MongoDB\Driver\Exception\InvalidArgumentException MongoDB\Driver\Exception\LogicException MongoDB\Driver\Exception\RuntimeException MongoDB\Driver\Exception\SSLConnectionException MongoDB\Driver\Exception\UnexpectedValueException MongoDB\Driver\Exception\WriteException說明:http://php.net/manual/zh/class.mongodb-driver-exception-authenticationexception.php
感謝各位的閱讀!看完上述內(nèi)容,你們對php7中mongodb的使用方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章名稱:php7中mongodb的使用方法
轉(zhuǎn)載來于:http://weahome.cn/article/jjgjis.html