国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

PHP7中 MongoDB Driver的使用介紹

2020-03-22 19:20:20
字體:
來源:轉載
供稿:網(wǎng)友
這篇文章主要介紹了關于PHP7中 MongoDB Driver的使用介紹,有著一定的參考價值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

php7 只能使用Mongodb driver來驅動mongodb。

使用Mongodb Driver連接數(shù)據(jù)庫

剛開始使用Mongodb Driver的時候我是拒絕的。查看官方文檔只看到一排的類和不知所云的成員方法,翻了半天也找不到 find, update, delete等等關鍵詞,更甚至稍微復雜一點的比如副本集,用戶認證都不知道怎么連接數(shù)據(jù)庫。
幸好文檔不是完全沒有,點開Mongodb/Driver/Manger::constructor 看到有幾個構造參數(shù)

$uri 形如 mongo://[host:port,host:port,host:port]/[dbname]?[username=aa password=bb replicaSet=cc]

$uriOptions 就是上面?后面的那一串參數(shù),可以寫在這里

$driverOptions 其他選項比如默認的讀寫參數(shù)

MongodbDriver CURD操作

這就是是我一開始覺得這個驅動反人類的地方,文檔里沒有任何的find,update,delete等字眼,只有一個Command類和一個Query類。
Query 類稍微好一些,提供了部分查詢選項。
實際上,對Mongo數(shù)據(jù)庫的所有操作,都可以通過Command類進行。而php的驅動文檔對具體的 commandOptions 是不做介紹的。
正因為我是mongodb萌新,所以才會覺得這個驅動無比奇葩反人類,根本就無從下手。
我們使用這個驅動的關鍵,是用Command類構造一個commandOption
而這個commandOption需要我們從mongodb的官方文檔中去了解
MONGODB MANUAL - Database Commands
所有的操作,數(shù)據(jù)增刪改查,聚合排序,數(shù)據(jù)庫狀態(tài),用戶認證等等,都可以通過這些命令搞定。下面隨便舉幾個例子

連接數(shù)據(jù)庫

$this- _conn = new MongoDB/Driver/Manager( mongodb://localhost:27017/test $this- _db = test // execute command.function exec($opts) { $cmd = new MongoDB/Driver/Command($opts); $res = $this- _conn- executeCommand($this- _db, $cmd); return $res- toArray();}

條件查詢,按需返回

$cmd = [ find = table , // collection表名 filter = [ _id = [ $gte = 10, $lt = 20]], projection = [ name = 1, email = 1]$res = $this-exec($cmd);

修改記錄

$cmd = [ update = table , // collection 表名 updates = [ [ q = [_id = [ $lt = 10]], u = [ status = 0], upsert = 0, multi = 1], [ q = [_id = [ $gte = 10]], u = [ status = 1], upsert = 0, multi = 1], ordered = 1, // 是否依次執(zhí)行updates語句,true表示執(zhí)行失敗后繼續(xù)后面的語句,false 表示一旦失敗立即返回]

刪除記錄,limit只能是1或0!

$cmd = [ delete = table , // collection 表名 deletes = [ [ q = [_id = [ $lt = 5]], limit = 0], // 0表示所有,1表示刪除1行]

插入數(shù)據(jù)

$cmd = [ delete = table , // collection 表名 deletes = [ [ q = [_id = [ $lt = 5]], limit = 0], // 0表示所有,1表示刪除1行]

分組,排序

$cmd = [ aggregate = table , // collection 表名 pipeline = [ $group = html' target='_blank'>class , $sort = score ]

讀取數(shù)據(jù)庫狀態(tài)

$cmd = [ replSetGetStatus = 1,]
輔助類 BSON

最有用的當然是 MongoDB/BSON/Javascript 和 MongoDB/BSON/ObjectId ,分別是傳入 javascript 腳本函數(shù),和使用 mongodb 的ojectid。

異常 Exception

所有MongoDBDriver 產(chǎn)生的異常都可以用 MongoDB/Driver/Exception/Exception 捕獲

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,更多相關內(nèi)容請關注PHP !

相關推薦:

PHP使用Azure Storage Blob上傳文件

php中imagettfbbox和imagettftext 文字圖片自動換行的方法

以上就是PHP7中 MongoDB Driver的使用介紹的詳細內(nèi)容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 寿阳县| 拉萨市| 鄯善县| 紫云| 延津县| 丰城市| 赤水市| 和龙市| 正安县| 屏山县| 呼和浩特市| 南康市| 睢宁县| 金沙县| 庄河市| 蒙阴县| 开平市| 广德县| 满洲里市| 垣曲县| 孟连| 富蕴县| 镇安县| 凤庆县| 福清市| 读书| 拉孜县| 岳阳县| 白河县| 大埔区| 维西| 六盘水市| 南岸区| 泰兴市| 宁陕县| 浦江县| 新乐市| 肇庆市| 高安市| 襄汾县| 青龙|