如何在 Lua 编程中使用 lua-mongo 库?

Lua 提供了可用于 MongoDB 的不同库。使我们能够在 Lua 中使用 MongoDB 的最流行的框架是lua-mongo。

Lua-mongo是一个绑定到 Lua 的 MongoDB C 驱动程序 -

  • 它为MongoDB C Driver 中的MongoDB 命令、CRUD操作和 GridFS提供了统一的API 。

  • 为方便起见,从 Lua/JSON 到 BSON 的透明转换。

  • Lua 数字与 BSON Int32、Int64 和 Double 类型的自动转换取决于它们的容量而不会丢失精度(当 Lua 允许时)。也可以手动转换。

您可以在此命令的帮助下下载 MongoDB -

luarocks install lua-mongo

MongoDB 设置

为了使用以下示例按预期工作,我们需要初始数据库设置。下面列出了这些假设。

  • 您已经安装并设置了 MongoDB 和 /data/db 文件夹来存储数据库。

  • 您已经创建了一个名为lua-mongo-test的数据库和一个名为 test 的集合。

导入 MongoDB

我们可以使用一个简单的 require 语句来导入 MongoDB 库,假设您的 Lua 实现已正确完成。

local mongo = require 'mongo'

变量mongo将通过引用主 MongoDB 集合来提供对函数的访问。

现在我们已经完成了设置,让我们写一个例子,看看我们如何使用 lua-mongo 框架在 Lua 中使用不同的 MongoDB 查询。

示例

考虑下面显示的例子 -

local mongo = require 'mongo'

local client = mongo.Client('mongodb://127.0.0.1')

local collection = client:getCollection('lua-mongo-test', 'test')

-- Common variables

local id = mongo.ObjectID()

collection:insert{_id = id, name = 'John Smith', age = 50}

collection:insert{_id = id, name = 'Mukul Latiyan', age = 24}

collection:insert{_id = id, name = 'Rahul', age = 32}

for person in collection:find({}, {sort = {age = -1}}):iterator() do

   print(person.name, person.age)

end

在上面的示例中,我们尝试按降序对 mongoDB 集合中存在的不同条目的图像进行排序。

输出结果

John Smith 50

Rahul 32

Mukul Laityan 24

以上是 如何在 Lua 编程中使用 lua-mongo 库? 的全部内容, 来源链接: utcz.com/z/345872.html

回到顶部