摘要:再次打開包內(nèi)源碼,發(fā)現(xiàn)了如下的細(xì)節(jié)敲黑板注意看路徑,此時(shí)是包內(nèi)知道原理之后,于是在配置文件中做了如下修改至此,,收工
項(xiàng)目中使用了mongoDB,所以就到最大的同性交友網(wǎng)站找到了星星最多的jenssegers/laravel-mongodb
包安裝1、根據(jù)README,找到本地laravel對應(yīng)的包版本2、開發(fā)環(huán)境中使用 composer requir 引入
3、配置config/app.php
/* * mongoDB */ JenssegersMongodbMongodbServiceProvider::class,
4、database.php 配置
"mongodb" => [ "driver" => "mongodb", "host" => "127.0.0.1", "port" => 27017, "database" => "data", "username" => "test", "password" => "test", ],
注:如果項(xiàng)目不涉及到mysql,那么可以直接將上面的默認(rèn)數(shù)據(jù)引擎改成mongodb,關(guān)于env方法的說明就不具體闡述了
"default" => env("DB_CONNECTION", "mysql"),
5、代碼中使用
// 獲取數(shù)據(jù) $mongo = DB::connection("mongodb") ->collection($collection) // ->where("****","***") ->first();問題
1、unsupported driver [mongodb]
tip1檢查phpinfo是否包含mongoDB拓展,如果沒有mongoDB的拓展,請自行安裝再試
tip2重點(diǎn)!一定要檢查laravel的日志文件
在我檢查了mongoDb拓展之后還是不支持,查看日志:
Type error: Argument 3 passed to MongoDBDriverServer::executeQuery() must be an instance of MongoDBDriverReadPreference or null, array given {"exception":"[object] (SymfonyComponentDebugExceptionFatalThrowableError(code: 0): Type error: Argument 3 passed to MongoDBDriverServer::executeQuery() must be an instance of MongoDBDriverReadPreference or null, array given at F:projectinterface_center_jtlvendormongodbmongodbsrcOperationFind.php:299)
追到具體的位置,通過修改此處的返回,再次打印,發(fā)現(xiàn)已經(jīng)可以正常使用get/first方法。insert方法同理,不過是修改同目錄下的InsertMany
!!從源頭解決這個(gè)問題的正確方法,查看phpinfo里面,將mongo的拓展,升級到最新的stable版本!具體請查看我以前的文章centos源碼安裝php7以上的mongodb拓展,如果是windows,直接下載dll文件就行了
2、Authentication failed.
tip1檢查密碼賬號,再用工具連接,看看是不是自己配置錯(cuò)誤
tip2使用原生方法進(jìn)行測試,如果原生能夠連接,包方法卻不能連接,那就考慮包的問題
// %40是@符號的轉(zhuǎn)義 $manager = new MongoDBDriverManager("mongodb://mongo:user:passwd%40abcdef@127.0.0.1:27017"); $query=new MongoDBDriverQuery([]); $cursor = $manager->executeQuery("test.test", $query); dd($cursor);
·如上,發(fā)現(xiàn)依舊不能連接,考慮mongo的問題了,再次測試,同事發(fā)現(xiàn)連接寫法經(jīng)過修改之后就能成功!如下:
$manager = new MongoDBDriverManager("mongodb://mongo:user:passwd%40abcdef@127.0.0.1:27017/data");
·百思不得騎姐之下,對比了mongoDB的版本,發(fā)現(xiàn)測試環(huán)境居然是個(gè)老版本。。/手動噴血
·在和運(yùn)維與測試溝通了之后,為了保持線上版本的穩(wěn)定性和敏捷開發(fā)的機(jī)動性,遂決定做代碼兼容。
再次打開包內(nèi)源碼,發(fā)現(xiàn)了如下的細(xì)節(jié)(敲黑板:注意看路徑,此時(shí)是jenssegers包內(nèi))
知道原理之后,于是在配置文件中做了如下修改:
至此,add、commint、push,收工!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/19525.html
摘要:再次打開包內(nèi)源碼,發(fā)現(xiàn)了如下的細(xì)節(jié)敲黑板注意看路徑,此時(shí)是包內(nèi)知道原理之后,于是在配置文件中做了如下修改至此,,收工 項(xiàng)目中使用了mongoDB,所以就到最大的同性交友網(wǎng)站找到了星星最多的jenssegers/laravel-mongodb 包安裝 1、根據(jù)README,找到本地laravel對應(yīng)的包版本showImg(https://segmentfault.com/img/bVbr...
摘要:本文整理上國內(nèi)相對較常用及以上版本的擴(kuò)展包代碼生成文檔對象云存儲文檔消息閃存文檔編輯器代碼提示文檔文檔文檔圖片處理文檔微信開發(fā)文檔語言包文檔驗(yàn)證碼文檔社會化登陸文檔系統(tǒng)日志文檔前端構(gòu)建工具文檔跨域資源共享文檔基于的用戶認(rèn) 本文整理Github上國內(nèi)相對較常用Laravel5及以上版本的擴(kuò)展包 laravel-generator(代碼生成) Github:https://github....
摘要:本文整理上國內(nèi)相對較常用及以上版本的擴(kuò)展包代碼生成文檔對象云存儲文檔消息閃存文檔編輯器代碼提示文檔文檔文檔圖片處理文檔微信開發(fā)文檔語言包文檔驗(yàn)證碼文檔社會化登陸文檔系統(tǒng)日志文檔前端構(gòu)建工具文檔跨域資源共享文檔基于的用戶認(rèn) 本文整理Github上國內(nèi)相對較常用Laravel5及以上版本的擴(kuò)展包 laravel-generator(代碼生成) Github:https://github....
摘要:本文整理上國內(nèi)相對較常用及以上版本的擴(kuò)展包代碼生成文檔對象云存儲文檔消息閃存文檔編輯器代碼提示文檔文檔文檔圖片處理文檔微信開發(fā)文檔語言包文檔驗(yàn)證碼文檔社會化登陸文檔系統(tǒng)日志文檔前端構(gòu)建工具文檔跨域資源共享文檔基于的用戶認(rèn) 本文整理Github上國內(nèi)相對較常用Laravel5及以上版本的擴(kuò)展包 laravel-generator(代碼生成) Github:https://github....
摘要:在上一篇文章基于分支,從到,再到,簡單的介紹了這里分享在開發(fā)過程中,前端選擇的心理活動。而作為核心開發(fā)之一,也負(fù)責(zé)前端這塊的開發(fā)。 在上一篇文章《 ThinkSNS+基于Laravel master分支,從1到 0,再到0.1》,簡單的介紹了 ThinkSNS+ ,這里分享在開發(fā)過程中,前端選擇的心理活動。 Laravel Mix的放棄 在 Laravel 中,前端工作流默認(rèn)是由 la...
閱讀 955·2019-08-30 14:24
閱讀 987·2019-08-30 14:13
閱讀 1799·2019-08-29 17:21
閱讀 2661·2019-08-29 13:44
閱讀 1654·2019-08-29 11:04
閱讀 438·2019-08-26 10:44
閱讀 2564·2019-08-23 14:04
閱讀 908·2019-08-23 12:08