校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP使用mongoclient簡單操作mongodb數據庫示例

PHP使用mongoclient簡單操作mongodb數據庫示例

熱門標簽:地圖標注風向標 銀川ai電話機器人 安陽自動外呼系統價格是多少 電梯外呼線路板維修視頻 臨沂智能電銷機器人軟件 浙江外呼電話系統軟件 上海公司外呼系統線路 芒果電銷機器人 十堰ai電話機器人效果怎么樣

本文實例講述了PHP使用mongoclient簡單操作mongodb數據庫。分享給大家供大家參考,具體如下:

最好回到《mongodb shell基礎命令【進階篇】》,再來看這里的內容,否則有些東西我講的比較籠統。

好了,不廢話了,直接貼代碼吧,別害怕看代碼,基本每行都寫了注釋了

!-- 
1、本文采用mongoClient類來實現mongodb的簡單操作,
2、需要事先熟悉《mongodb基礎命令——進階篇》的內容
3、其中更新數據部分只給出了一個$set的例子,但是跟操作命令是一樣的,注意理解與嘗試
4、在最下來有對函數進行簡單的介紹,其中的一些內容會在本人學習完后續章節后回來補充的
 -->

?php
try {
  // 連接mongodb數據庫
  $mongo = new MongoClient();
  // 選擇數據庫
  $db_name=$mongo->test;
  // 或者這樣也可以
  // $db_name=$mongo->selectDB('test');
  // 選擇集合
  $collection_name=$db_name->student;
  // 或者和上面一樣
  // $collection_name=$$db_name->selectCollection('collection_name');
  echo 'pre>';
  // 查看全部dbs
  $dbs=$mongo->listDBs();
  // var_dump($dbs);
  $collections=$db_name->listCollections();
  // var_dump($collections);
  // 定義被插入的數據,而且php的數組形式與json格式類似,所以很容易理解
  $input = array(
   'name' =>'yang' ,
   'sex'=>'man',
   'sorce' => array(
   'math' =>60 ,
   'pe'=>30 
   )
   );
  // 插入數據,$result會顯示插入數據的結果
  // insert的第二個參數內容請看--函數1
  // $result=$collection_name->insert($input);
  // var_dump($result);
  // 查詢單條數據,跟shell命令里的findOne()一樣
  $findOne=$collection_name->findOne();
  // var_dump($findOne);
  // 查找全部數據,記住一點,find()函數的返回值不是跟findOne()函數一樣的數組。而是一個對象,所以不能直接
  // 打印出來,至于如何讀取其中的內容,可以使用foreach循環
  $find=$collection_name->find();
  // 可以跟mongo shell中一樣為find()函數傳遞第一個篩選參數
  $situation = array(
   'name' => 'yang', 
   );
  // 選擇返回的字段內容
  $field = array('sorce' => 1 );
  // 詳細解釋看--函數2
  $find=$collection_name->find($situation,$field);
  // while ($each=$find->getNext()) {
  // var_dump($each);
  // }
  $sort=$collection_name->find()->sort(array('math' => -1, ));
  $limit=$collection_name->find()->sort(array('math' => -1, ))->limit(2);
  $skip=$collection_name->find()->sort(array('math' => -1, ))->skip(2);
  $count=$collection_name->find()->sort(array('math' => -1, ))->count();
  // echo $count;
  // foreach ($skip as $value) {
  // var_dump($value);
  // }
  // 條件操作符的使用
  $situation2=array(
   // 注意這里字段的設置跟shell中一樣
   'item.quantity'=>array('$gt'=>5)
   );
  $gt=$db_name->orders->find($situation2);
  /**********************************************數據的更新*******************************************/
  // 注意,接下來這段代碼會更新整個匹配到的文檔,就跟update沒有使用$set一樣
  // 詳情查看函數3
  $update=$db_name->orders->update(
   array('_class'=>'com.mongo.model.Orders'),
   array('_class'=>'hello world')
   );
  // 注意$set的位置,是不是與shell命令中一致
  $update=$db_name->orders->update(
   array('_class'=>'com.mongo.model.Orders'),
   array('$set'=>array('_class'=>'hello world'))
   );
  // 從這里可以看到,如果會shell命令的話,那么這一節的重點就是將shell命令與php數組之間的相互轉化了
  /**********************************************數據的刪除*******************************************/
  // 刪除集合中的數據
  $remove=$db_name->orders->remove(array('_class'=>'com.mongo.model.Orders'));
  // 刪除整個集合
  $db_name->orders->drop();
  // 本來還有一些集合之間使用DBRef聯查以及GRidFS的內容的,但是那個還是等以后要用了再來補充好了
} catch (MongoConnectionException $e) {
  echo $e->getMessage();
}
?>

其中幾個函數的解釋

--------------------------函數1--------------------

插入數據函數 insert

$mongo->$db_name->$collection_name->insert($input.$options)

$option中的參數以及默認值

$option=array(
'fsync'=> false,
'j'  => false,
'w'  => 1,
'wtimeout'=>10000,
'timeout'=>10000
)

'fsync' 

這個參數設置為真時,php將會告訴mongodb將當前寫入數據直接寫入硬盤,即使還沒有全部從php文檔寫入mongodb數據庫

'j'

這個參數設置為真市,php將會告訴mongodb在數據插入成功之前就將本次修改寫入日志

'w'

如果設置成0,寫操作將不會被確認,在這里還不會深究

'wtimeout'

跟上面的'w'綁定使用的,后面會介紹的

'timeout'

客戶端等待服務器響應的超時時間,也就是如果php的服務器等待mongodb數據庫寫入數據的時間,如果超過了timeout規定的時間,就算本次寫入失敗

---------------------------函數2--------------------

篩選數據函數 find

$mongo->$db_name->$collection_name->find($situation,$field)

$situation可以為空,表示返回全部數據,也可以是一個數組,表示篩選條件,就跟mongodb命令一樣
$field也可以為空,表示返回全部字段,也可以跟第一個參數一樣,傳入數組,規定返回的字段

注意,即使上面使用$field限制返回字段,_id字段還是會自動返回的

---------------------------函數3--------------------

更新數據 update

$mongo->$db_name->$collection_name->update($criteria,$update,$option)

結合shell命令就很好理解了
$criteria 表示篩選進行更新的文檔
$update 就是要更新后的數據

$option=array(
'upsert'=>false,
'multiple'=>true,
'fsync'=>false,
'w'=>1,
'wtimeout'=>10000,
'timeout'=>10000
)

后幾個的作用在函數1里講過了就不贅述了,upsert為true表示如果當前文檔存在就更新,不存在就創建,multiple為真表示匹配該條件的文檔都會被更新,即不止更新滿足條件的一個文檔。

---------------------------函數3--------------------

刪除數據 remove

$mongo->$db_name->$collection_name->remove($remove,$option)

$remove表示跟find()第一個參數一樣的篩選條件

$option=array(
'justOne'=>false,
'fsync'=>false,
'w'=>1,
'j'=>false,
'wtimeout'=>10000,
'timeout'=>10000
)

上面有的我就不贅述了,justOne根據名字來,就一個,如果為true表示就刪除一個匹配$remove的文檔

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP+MongoDB數據庫操作技巧大全》、《PHP基于pdo操作數據庫技巧總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP封裝的簡單連接MongoDB類示例
  • php如何利用pecl安裝mongodb擴展詳解
  • TP5(thinkPHP5)框架mongodb擴展安裝及特殊操作示例
  • php操作mongodb封裝類與用法實例
  • PHP操作Mongodb封裝類完整實例
  • mongodb和php的用法詳解

標簽:武威 常州 遵義 寧夏 遂寧 徐州 吐魯番 荊門

巨人網絡通訊聲明:本文標題《PHP使用mongoclient簡單操作mongodb數據庫示例》,本文關鍵詞  PHP,使用,mongoclient,簡單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP使用mongoclient簡單操作mongodb數據庫示例》相關的同類信息!
  • 本頁收集關于PHP使用mongoclient簡單操作mongodb數據庫示例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美视频一区在线观看| 午夜精品久久久久久久99水蜜桃| 国产美女一区二区三区| 视频在线观看91| 欧美国产精品一区二区| 精品一区二区三区的国产在线播放| 色综合色综合色综合色综合色综合| 欧美色涩在线第一页| 色综合天天做天天爱| 欧美精品一区二区蜜臀亚洲| 亚洲国产精品ⅴa在线观看| 日本不卡免费在线视频| 91精品国产综合久久久久久漫画| 国产成人av网站| 一本久久综合亚洲鲁鲁五月天| 亚洲欧美在线视频观看| 欧美伦理影视网| 国产福利一区在线观看| 亚洲国产色一区| 欧美精品一区二区不卡| 欧美影院精品一区| 国产高清亚洲一区| 亚洲成人av在线电影| 亚洲国产电影在线观看| 日韩一级二级三级| 色综合视频在线观看| 韩国一区二区视频| 亚洲高清在线精品| 亚洲欧美激情小说另类| 精品乱码亚洲一区二区不卡| 在线视频欧美精品| 成人黄色一级视频| 久久99九九99精品| 丝袜a∨在线一区二区三区不卡| 日本一区二区久久| 久久综合九色综合97_久久久| 欧美日韩精品一区二区| 91浏览器在线视频| 国产成人啪免费观看软件| 免费观看日韩av| 亚洲日本一区二区三区| 日本一区二区综合亚洲| 久久综合久久综合久久| 精品国产亚洲在线| 精品国产乱码久久久久久牛牛| 在线91免费看| 91麻豆精品国产91久久久更新时间 | 日韩美一区二区三区| 欧美三区在线观看| 日本韩国一区二区三区视频| 91丝袜美腿高跟国产极品老师| 成人免费视频caoporn| 国产精品99久久久久久有的能看| 国产美女视频91| 不卡一二三区首页| 91毛片在线观看| 欧美视频在线一区| 日韩免费在线观看| 国产亚洲福利社区一区| 国产精品乱码一区二三区小蝌蚪| 国产精品网站在线| 亚洲码国产岛国毛片在线| 亚洲一区二区3| 青青草91视频| 国产麻豆精品在线观看| 国产成人精品免费一区二区| 不卡的电视剧免费网站有什么| 99久久婷婷国产| 欧美色精品在线视频| 欧美另类高清zo欧美| 精品国产一区二区亚洲人成毛片| 久久久91精品国产一区二区三区| 国产精品免费久久| 亚洲综合精品久久| 美日韩黄色大片| av在线这里只有精品| 欧美日韩黄色一区二区| 久久综合久久久久88| ...xxx性欧美| 免费人成黄页网站在线一区二区 | 色视频一区二区| 日韩一区二区在线观看视频播放| 久久久久久电影| 亚洲国产日韩在线一区模特| 美女诱惑一区二区| 91蜜桃在线观看| 欧美v日韩v国产v| 国产精品你懂的在线| 日韩高清在线一区| 成人av在线一区二区三区| 777亚洲妇女| 亚洲视频资源在线| 韩国女主播成人在线| 欧美亚洲免费在线一区| 国产欧美一区二区精品忘忧草| 亚洲永久免费av| 成人免费视频视频| 日韩女同互慰一区二区| 天堂影院一区二区| 精品亚洲国产成人av制服丝袜 | 91视频一区二区| 日韩免费成人网| 香港成人在线视频| 97se亚洲国产综合自在线不卡| 日韩无一区二区| 亚洲成在人线在线播放| av动漫一区二区| 久久精品亚洲一区二区三区浴池| 香蕉成人啪国产精品视频综合网| av资源网一区| 中文字幕在线一区| 麻豆成人91精品二区三区| 欧美天天综合网| 亚洲另类中文字| 99国产一区二区三精品乱码| 久久精品欧美日韩精品| 精品一区二区在线免费观看| 91精品国产aⅴ一区二区| 亚洲一区二区三区三| 日本道色综合久久| 亚洲美女一区二区三区| 色综合av在线| 一区二区成人在线视频| 在线观看国产一区二区| 亚洲综合av网| 欧美性生活一区| 亚洲一区二区三区三| 欧美日韩精品一区二区在线播放| 午夜激情一区二区| 在线播放亚洲一区| 日韩av不卡一区二区| 日韩欧美www| 国产麻豆精品在线| 国产精品传媒在线| 色综合中文字幕国产 | 国产一区二区成人久久免费影院| 精品欧美乱码久久久久久1区2区| 蜜臀av一区二区在线观看| 日韩欧美国产精品| 国产麻豆精品视频| 亚洲国产高清aⅴ视频| 91电影在线观看| 日韩精品成人一区二区三区| 欧美mv日韩mv国产网站app| 国产麻豆精品一区二区| 亚洲美腿欧美偷拍| 日韩一二三四区| 丁香另类激情小说| 亚洲国产综合91精品麻豆| 91麻豆精品国产91久久久久| 国产高清在线精品| 亚洲国产精品麻豆| 精品播放一区二区| 91蝌蚪porny| 毛片av一区二区| 1区2区3区国产精品| 717成人午夜免费福利电影| 国产乱码精品一区二区三区五月婷| 国产精品久久久久久久久久免费看| 色伊人久久综合中文字幕| 蜜桃精品在线观看| 曰韩精品一区二区| 久久中文字幕电影| 欧美中文字幕一区二区三区| 免费的国产精品| 亚洲人吸女人奶水| 亚洲精品一区二区三区福利| 色悠悠久久综合| 国产乱码精品一区二区三区av| 亚洲夂夂婷婷色拍ww47| 久久久久久久综合色一本| 欧美色爱综合网| 9久草视频在线视频精品| 日本视频一区二区| 一区二区三区成人| 中文字幕乱码亚洲精品一区| 欧美一区日本一区韩国一区| 99久久精品国产网站| 久久66热re国产| 舔着乳尖日韩一区| 亚洲日本一区二区| 中文字幕电影一区| 精品国产乱码久久久久久浪潮| 在线免费观看日本一区| 丁香另类激情小说| 国产精品66部| 激情欧美一区二区| 蜜臀久久99精品久久久画质超高清 | 国产99精品国产| 免费在线观看视频一区| 亚洲黄色尤物视频| 亚洲欧美日韩国产一区二区三区 | 欧美激情一二三区| 久久蜜桃av一区精品变态类天堂| 欧美日韩国产123区| 色综合激情久久| 91视频在线看| 一本久道久久综合中文字幕 | 成人免费视频视频在线观看免费 | 欧美一区二区三区在线观看|