最近项目中使用openresty,需要通过openresty连接mongo,经过几番折腾终于有了一个结果,现将其记录下来,也感谢模块提供者

使用openresty操作mongo

1、引入第三方的模块

  https://github.com/isage/lua-resty-moongoo

2、将第三方模块下载后放入openresty相关目录及/usr/local/openresty/lualib/resty/

3、开始使用模块中提供的方法操作数据库,但是在使用中会发现缺少模块cbson,因此在使用该模块时需要再次编辑安装cbson模块,cbson主要用来生成mongo中的ObjectId

安装libbson

git clone git://github.com/mongodb/libbson.git
cd libbson/
./autogen.sh
make
sudo make install

make clean && make LUA_INCLUDE_DIR=/usr/local/openresty/luajit/include/luajit-2.1 LUA_CMODULE_DIR=/usr/local/openresty/lualib LUA_MODULE_DIR=/usr/local/openresty/lualib CBSON_CFLAGS="-g -fpic -I/usr/local/include/libbson-1.0/ " CC=cc

安装使用cbson

1、第三方Github地址 https://github.com/isage/lua-cbson

2、编译安装cbson模块,在编译此间出现错误“Could NOT find LuaJIT (missing: LUA_LIBRARIES LUA_INCLUDE_DIR)”,由于我自己的openresty路径不同,所以出现上述报错。解决方法如下:

  a、找到模块中的cmake文件夹,找到一个名为FindLuaJIT.cmake的文件

  b、修改luajit的路径,重新执行编译即可

安装完成上述三个模块之后即可按照mongo模块提供的文档进行操作

ps:如果在使用cbson时报如下错误:

则需要将libbso-1.0.so.0手动添加到 /usr/lib下,具体操作如下

ln -s /usr/local/lib/libbson-1.0.so.0 ./libbson-1.0.so.0

ldconfig

执行以上命令即可解决找不到动态连的错误

openresty操作mongodb的更多相关文章

  1. mongoose - 让node.js高效操作mongodb

    Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. ...

  2. 【MongoDB for Java】Java操作MongoDB

    上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...

  3. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

  4. PHP操作Mongodb之增删改查篇

    之前,我讲解过PHP中mongodb扩展的安装,及启动,链接操作[忘记了?去看看吧!PHP操作Mongodb之一].本文主要就是讲在PHP中Mongodb的增加,查询,修改及删除数据的操作. 1.增加 ...

  5. PHP操作Mongodb之高级查询篇

    本文主要讲解PHP中Mongodb的除了增删改查的一些其他操作. 在PHP操作Mongodb之增删改查篇中我们介绍了PHP中Mongodb的增加.删除.修改及查询数据的操作.本文主要是将查询时用到的高 ...

  6. php操作mongodb中的ISODate格式日期

    mongodb 中数据记录的日期格式为"dateCreated" : ISODate("2011-12-20T07:22:50.836Z")经过翻阅php官网中 ...

  7. nodejs操作mongodb

    一.下载地址 https://www.mongodb.com/download-center#community 二.控制台操作mongodb 1.安装完后添加环境变量. 2.在某个根目录下新建dat ...

  8. nodejs操作mongodb数据库封装DB类

    这个DB类也算是我经历了3个实际项目应用的,现分享出来,有需要的请借鉴批评. 上面的注释都挺详细的,我使用到了nodejs的插件mongoose,用mongoose操作mongodb其实蛮方便的. 关 ...

  9. Python 操作 MongoDB

    原文 这篇文章主要介绍了使用Python脚本操作MongoDB的教程,MongoDB作为非关系型数据库得到了很大的宣传力度,而市面上的教程一般都是讲解JavaScript的脚本操作,本文则是基于Pyt ...

  10. Python 操作 mongodb 数据库

    原文地址:https://serholiu.com/python-mongodb 这几天在学习Python Web开发,于 是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样 ...

随机推荐

  1. [nRF24L01+] 2. 芯片介绍

    2. 芯片介绍 2.1. 特点 电源管理 掉电模式: 900nA 待机1模式: 26uA 2.2. 方框图

  2. OIDC – 关于 SAML 和 ADFS

    前言 最近听朋友说, 正在使用 ADFS 做 SSO, 哎哟. 我都是用 OIDC 做的, 这个 ADFS 是啥? 没听过. 于是搜索了一下, 这里先做一个小记入. ADFS 介绍 参考: stack ...

  3. typescript 5.1

    http://www.patrickzhong.com/TypeScript/PREFACE.html 前言 TypeScript 官网大约从 2020 年开始要打造新版的官网,其中包括官网的样式,以 ...

  4. 数字产品护照 (DPP) 解决方案:利用 Blazor 和区块链实现产品全生命周期追踪

    数字产品护照 (DPP) 解决方案:利用 Blazor 和区块链实现产品全生命周期追踪 随着全球对可持续发展和产品透明度的关注日益增加,企业需要一种可靠的方法来跟踪和管理产品生命周期中的关键数据.我们 ...

  5. Nuxt Kit 实用工具的使用示例

    title: Nuxt Kit 实用工具的使用示例 date: 2024/9/25 updated: 2024/9/25 author: cmdragon excerpt: 摘要:本文介绍了Nuxt ...

  6. [Tkey] OSU!

    更新的题解可看 此处 你说得对但是 恐怖日本病毒会自动向你的电脑中下载 OSU! 题意简述 一个 01 串,每个位置有 \(p_{i}\) 的概率为 \(1\),连续的 \(x\) 个 \(1\) 贡 ...

  7. Java反射取值赋值

    项目需求:需要对获取的数据每个字段值校验合法性,故想到用 反射 实现 /** * 字段值校验 * * @param r 需要校验的实体类 * @param properties 自定义需要校验的属性 ...

  8. 在C#中使用适配器Adapter模式和扩展方法解决面向的对象设计问题

    之前有阵子在业余时间拓展自己的一个游戏框架,结果在实现的过程中发现一个设计问题.这个游戏框架基于MonoGame实现,在MonoGame中,所有的材质渲染(Texture Rendering)都是通过 ...

  9. 利用3Dslice提取血管中心线

    1.首先进入官网下载你需要的版本.你也可以安装老版本,我已经用红色框框出来了. 2.开始安装,等个几十秒钟就ok了. 3.当然要实现提取中心线,还需要 VMTK 这个玩意, 打开应用,找到 insta ...

  10. 前端面试题axaios携带 cookies

    配置 axios.default.widthCredentials = true;