最近的項目是在一個現有的進銷存系統的基礎上完成一個小程序上的電商項目。其實就是原有系統上的數據和商城的數據進行互通。本來只要原來的進銷存系統的軟件服務商願意配合,給出相應的接口的話,還是很容易的。但那邊的軟件服務商不好說話,只能自己來寫接口了。
先記錄的雜點吧,有時間再來更,現在趕項目時間急。
開發環境:
windows10 64位,php5.6 ,tp5
1.下載安裝MongoDb 服務器端
2.添加php-mongidb的相應拓展
3.在config中寫入mongodb的配置。
因爲本地也有mysql的數據庫,所以databases的配置爲mysql,mongodb的配置放在config中
'mongodb'=>[
'type' => '\think\mongo\Connection',
'hostname' => '127.0.0.1',
'database' => 'lezhi', //數據庫名
'username'=>'',
'password'=>'',
'charset' => 'utf8',
'prefix' =>'',
]
4.MongoDb的基本使用(命令行操作,數據庫,集合,文檔的操作等)
5.MongoDb的增 刪 查 改
//測試MongoDB
public function mongodb()
{
$mongodb = config('mongodb');
//添加數據
$data = ['username'=>'黃小濤','sex'=>'1','phone'=>'156xxxx9075','uid'=>'1'];
$res = Db::connect($mongodb)->table('mongo')->insert($data);
dd($res);
//查詢數據
$arr = Db::connect($mongodb)->table('mongo')->select();
$arr = Db::connect($mongodb)->table('mongo')->where('uid','1')->select();
dd($arr);
//修改數據
$data = ['username'=>'黃小小濤'];
$res = Db::connect($mongodb)->table('mongo')->where('uid','1')->update($data);
// dd($res);
//刪除數據
$res = Db::connect($mongodb)->table('mongo')->where('uid','1')->delete();
dd($res);
}
新遇到的問題QAQ:
1.今天早上訪問代碼,php拋出:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 44 bytes) in E:\phpstudy\WWW\tp5\vendor\topthink\think-mongo\src\Connection.php on line 341
百度之後,發現是PHP的內存限制的問題,更改php的配置文件即可解決。兩種方法:
1)、修改php.ini
memory_limit = 128
這種方法需要重啓服務器,很顯然,此方法對虛擬機有限制。
2)、通過ini_set函數修改配置選項值
ini_set ('memory_limit', '128M')
ini_set ('memory_limit', '128M')
參考:http://www.mongodb.org.cn/tutorial/11.html
朋友的博客:http://news.foamoo.com/201806/22.html
ubuntu下安裝mongodb:https://blog.csdn.net/flyfish111222/article/details/51886787