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

主頁 > 知識庫 > PHP7 mongoDB擴展使用的方法分享

PHP7 mongoDB擴展使用的方法分享

熱門標簽:百度地圖標注偏差 400電話蘭州申請請 余姚電話機器人 咸寧銷售電銷機器人系統 廣東廣州在怎么申請400電話 開發地圖標注類網站 電銷機器人問門薩維品牌my 百度地圖怎樣標注圖標 外呼系統能給企業帶來哪些好處

前言

最近在做的項目需要將PHP5.6升級到PHP7.0,使用過PHP-mongo擴展的同學應該知道,PHP7.0的mongodb擴展是完全不兼容PHP5.6的mongo擴展的,php-mongodb改如何使用呢。

下面直接說明各種方法的使用:

1.mongodb連接:

private function connect($confArr) {
 try{
  $connStr = "mongodb://" . $confArr['host'] . ":" . $confArr['port'] . "/" . $confArr['db_name'];
  $options = array(
   'username' => $confArr['username'],
   'password' => $confArr['password'],
   'readPreference' => $confArr['read_preference'],
   'connectTimeoutMS' => intval($confArr['connect_timeout_ms']),
   'socketTimeoutMS' => intval($confArr['socket_timeout_ms']),
  );
  $mc = new MongoDB\Driver\Manager($connStr, $options);
  return $mc;
 }
 catch(Exception $e){
  return false;
 }
}

2.查詢find:

public function find($query = array(), $fields = array(), $collection, $sort = array(), $limit = 0, $skip = 0) {
 $conn = $this->connect();
 if (empty($conn)) {
  return false;
 }
 try {
  $data = array();
  $options = array();
  if (!empty($query)) {
   $options['projection'] = array_fill_keys($fields, 1);
  }
  if (!empty($sort)) {
   $options['sort'] = $sort;
  }
  if (!empty($limit)) {
   $options['skip'] = $skip;
   $options['limit'] = $limit;
  }
  $mongoQuery = new MongoDB\Driver\Query($query, $options);
  $readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY);
  $cursor = $conn->executeQuery($collection, $mongoQuery, $readPreference);
  foreach($cursor as $value) {
   $data[] = (array)$value;
  }
  return $data;
 } catch (Exception $e) {
  //記錄錯誤日志
 }
 return false;
}

3.插入操作insert:

public function insert($addArr, $collection) {
 if (empty($addArr) || !is_array($addArr)) {
  return false;
 }
 $conn = $this->connect();
 if (empty($conn)) {
  return false;
 }
 try {
  $bulk = new MongoDB\Driver\BulkWrite();
  $bulk->insert($addArr);
  $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 6000);
  $result = $conn->executeBulkWrite($collection, $bulk, $writeConcern);
  if ($result->getInsertedCount()) {
   return true;
  }
 } catch (Exception $e) {
  //記錄錯誤日志
 }
 return false;
}

4.刪除delete:

public function delete($whereArr, $options = array(), $collection) {
 if (empty($whereArr)) {
  return false;
 }
 if (!isset($options['justOne'])) {
  $options = array(
   'justOne' => false,
  );
 }
 $conn = $this->connect();
 if (empty($conn)) {
  return false;
 }
 try {
  $bulk = new MongoDB\Driver\BulkWrite();
  $bulk->delete($whereArr, $options);
  $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 30000);
  $result = $conn->executeBulkWrite($collection, $bulk, $writeConcern);
  return true;
 } catch (Exception $e) {
  //記錄錯誤日志
 }
 return false;
}

5.執行command操作:

private function command($params, $dbName) {
 $conn = $this->connect();
 if (empty($conn)) {
  return false;
 }
 try {
  $cmd = new MongoDB\Driver\Command($params);
  $result = $conn->executeCommand($dbName, $cmd);
  return $result;
 } catch (Exception $e) {
  //記錄錯誤
 }
 return false;
}

6.統計count:

public function count($query, $collection) {
 try {
  $cmd = array(
   'count' => $collection,
   'query' => $query,
  );
  $res = $this->command($cmd);
  $result = $res->toArray();
  return $result[0]->n;
 } catch (Exception $e) {
  //記錄錯誤
 }
 return false;
}

7.聚合distinct:

public function distinct($key, $where, $collection) {
 try {
  $cmd = array(
   'distinct' => $collection,
   'key' => $key,
   'query' => $where,
  );
  $res = $this->command($cmd);
  $result = $res->toArray();
  return $result[0]->values;
 } catch (Exception $e) {
  //記錄錯誤
 }
 return false;
}

8.aggregate操作:

public function aggregate($where, $group, $collection) {
 try {
  $cmd = array(
   'aggregate' => $collection,
   'pipeline' => array(
    array(
     '$match' => $where,
    ),
    array(
     '$group' => $group,
    ),
   ),
   'explain' => false,
  );
  $res = $this->command($cmd);
  if (!$res) {
   return false;
  }
  $result = $res->toArray();
  return $result[0]->total;
 } catch (Exception $e) {
  //記錄錯誤
 }
 return false;
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • PHP擴展Swoole實現實時異步任務隊列示例
  • PHP基于mcript擴展實現對稱加密功能示例
  • PHP安裝memcache擴展的步驟講解
  • PHP安裝BCMath擴展的方法
  • PHP擴展mcrypt實現的AES加密功能示例
  • php的擴展寫法總結

標簽:麗江 十堰 衡陽 重慶 巴彥淖爾 鷹潭 銅陵 臨沂

巨人網絡通訊聲明:本文標題《PHP7 mongoDB擴展使用的方法分享》,本文關鍵詞  PHP7,mongoDB,擴展,使,用的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP7 mongoDB擴展使用的方法分享》相關的同類信息!
  • 本頁收集關于PHP7 mongoDB擴展使用的方法分享的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    一区二区三区资源| 久久久亚洲高清| 99久精品国产| 91在线免费视频观看| 丰满白嫩尤物一区二区| 国产精品主播直播| 国产美女在线观看一区| 国产成人av一区| 成人短视频下载| 色婷婷综合中文久久一本| 972aa.com艺术欧美| 色婷婷久久久久swag精品| 91黄色激情网站| 欧美私人免费视频| 欧美成人vr18sexvr| 久久久久亚洲综合| 中文字幕日韩一区| 亚洲电影在线免费观看| 日韩精品亚洲一区二区三区免费| 日韩影院免费视频| 国产黄人亚洲片| 在线一区二区三区四区五区 | 性久久久久久久久久久久| 亚洲高清免费观看| 国产一区二区三区最好精华液| 国产精品一区二区久久不卡| heyzo一本久久综合| 欧美日韩在线亚洲一区蜜芽| 欧美电视剧在线看免费| 国产精品亲子伦对白| 亚洲一区二区3| 国产伦精一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 在线观看91精品国产麻豆| 国产视频不卡一区| 五月天亚洲婷婷| 处破女av一区二区| 在线不卡一区二区| 亚洲视频综合在线| 人禽交欧美网站| 色综合视频在线观看| 欧美一级黄色录像| 亚洲男人都懂的| 韩国精品主播一区二区在线观看| 色婷婷av一区| 国产免费观看久久| 美女网站在线免费欧美精品| 99久久精品免费看国产| 欧美日本在线一区| 国产精品二三区| 精东粉嫩av免费一区二区三区| 欧美性videosxxxxx| 国产午夜亚洲精品不卡| 首页国产欧美日韩丝袜| 9i在线看片成人免费| 日韩欧美国产午夜精品| 亚洲妇女屁股眼交7| av成人免费在线| 国产三级精品在线| 日韩电影在线一区| 91国产视频在线观看| 中文字幕乱码日本亚洲一区二区| 视频一区二区国产| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久综合久久综合亚洲| 日韩高清中文字幕一区| 日本久久一区二区| 亚洲男同1069视频| 91黄色免费看| 一区二区三区精品视频| 91网站视频在线观看| 国产精品美女久久久久久久久久久| 久久 天天综合| 337p日本欧洲亚洲大胆色噜噜| 蜜臀久久久久久久| 欧美精品亚洲一区二区在线播放| 亚洲一区免费在线观看| 99re在线精品| 亚洲一区在线看| 欧美日韩精品久久久| 亚洲第一搞黄网站| 日韩视频123| 狠狠色丁香婷婷综合| 久久精品人人做人人爽人人| 豆国产96在线|亚洲| 日韩久久一区二区| 欧美性大战久久| 日本中文字幕一区| 久久久久亚洲综合| 日本韩国精品在线| 日本伊人色综合网| 久久亚洲二区三区| 99精品视频在线免费观看| 亚洲男人的天堂在线aⅴ视频| 欧美精品三级在线观看| 国产美女精品在线| 亚洲精品国产无套在线观| 欧美日韩国产综合一区二区三区| 一区二区三区免费在线观看| 亚洲日本丝袜连裤袜办公室| 91老师国产黑色丝袜在线| 中文字幕不卡在线| 在线日韩国产精品| 日韩欧美激情在线| 成人理论电影网| 亚洲欧洲精品一区二区三区| 99综合电影在线视频| 国产精品理论在线观看| 国产一区二区视频在线播放| 亚洲免费视频中文字幕| 日本高清免费不卡视频| 亚洲超碰精品一区二区| 日韩一区二区在线免费观看| 精品一区二区三区在线视频| 亚洲欧美色图小说| 91精品国产综合久久久久| 日韩精彩视频在线观看| 久久久不卡网国产精品二区| av不卡一区二区三区| 日韩国产欧美一区二区三区| 久久免费美女视频| 国产成人午夜99999| 亚洲影视在线播放| 欧美va亚洲va| 色呦呦日韩精品| 国产成人自拍网| 午夜精品久久久久久久久久| 久久精品免视看| 91国偷自产一区二区开放时间| 日本一不卡视频| 91麻豆精品国产91久久久使用方法 | 亚洲国产精品综合小说图片区| 91浏览器入口在线观看| 毛片基地黄久久久久久天堂| 综合久久一区二区三区| 欧美一区国产二区| 北条麻妃国产九九精品视频| 日本美女视频一区二区| 综合av第一页| 欧美一区二区播放| 91网站视频在线观看| 激情综合网激情| 一区二区三区蜜桃网| 国产日产精品一区| 日韩女优av电影在线观看| 在线观看视频一区二区欧美日韩| 国内国产精品久久| 日本一区中文字幕| 中文字幕一区二区三区在线不卡 | 欧美日韩国产经典色站一区二区三区| 麻豆一区二区99久久久久| 一区二区三区四区乱视频| 国产日韩欧美不卡| 精品国产伦一区二区三区观看体验| www.性欧美| 不卡视频在线观看| 国产成人综合自拍| 国产福利视频一区二区三区| 亚洲丶国产丶欧美一区二区三区| 亚洲午夜精品在线| 亚洲黄色小视频| 亚洲视频在线一区| |精品福利一区二区三区| 欧美va日韩va| 国产精品久久久久一区 | 在线视频你懂得一区二区三区| 国产91露脸合集magnet| 国产自产v一区二区三区c| 日韩av电影免费观看高清完整版在线观看| 亚洲视频在线观看一区| 日韩一区二区在线观看视频| 欧美一级久久久| 精品国一区二区三区| 日韩欧美国产一区在线观看| 欧美一级免费大片| 在线视频一区二区三区| 日韩一级视频免费观看在线| 日韩欧美一区在线观看| 欧美成人一区二区三区片免费| 日韩午夜电影av| 亚洲国产精品成人综合色在线婷婷| 精品噜噜噜噜久久久久久久久试看| 8v天堂国产在线一区二区| 欧美在线免费播放| 精品国产乱码久久久久久闺蜜| 精品国产91洋老外米糕| 国产欧美综合在线观看第十页 | 天天做天天摸天天爽国产一区| 日韩高清在线观看| 国内精品久久久久影院色| 懂色av一区二区三区免费观看| 国产成人一级电影| 99久久精品国产网站| 欧洲精品一区二区| 色偷偷成人一区二区三区91| 欧美一区二区美女| 欧美国产日韩精品免费观看| 一区二区三区免费看视频| 日韩国产欧美在线观看| 国产精品夜夜嗨|