因为原项目中使用lua-resty-mongol,目前不支持mongodb4.0的数据库连接,官网也很久没有更新了,只能自己动手升级驱动,目前网上支持mongodb4.0驱动
1.官方的驱动,不用启动oprensty服务,可单独运行,依赖libbosn和mongoc库。
https://github.com/mongodb-labs/mongorover
2.云风的实现,很有学习参考价值。
https://github.com/cloudwu/lua-mongo
3、luarocks上的lua-mongo 也是基于mongo-c-driver
https://github.com/neoxic/lua-mongo
第三个是最终采用的驱动,我说下我的升级过程
服务器环境是ubuntu
安装openresty
sudo wget -qO - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
sudo add-apt-repository -y "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install openresty
安装luarocks
sudo apt-get install luarocks
安装 cmake
sudo apt install cmake
如果cmake的版本过低可以使用手动安装
sudo wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
sudo tar zxvf cmake-3.3.2.tar.gz
sudo ./configure
sudo make
sudo make install
安装mongo-c-driver
sudo wget https://github.com/mongodb/mongo-c-driver/releases/download/1.16.2/mongo-c-driver-1.16.2.tar.gz
sudo tar -xvzf mongo-c-driver-1.16.2.tar.gz
cd mongo-c-driver-1.16.2
sudo cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF
sudo make
sudo make install
sudo ln -s /usr/local/lib64/libbson-1.0.so.0 /lib64
sudo ln -s /usr/local/lib64/libmongoc-1.0.so.0 /lib64/
安装 lua-mongo
luarocks install lua-mongo
mongoL的语法实现我会在下一篇文章中放出