如何在 Lua 编程中使用 lua-mongo 库?
Lua提供了可用于MongoDB的不同库。使我们能够在Lua中使用MongoDB的最流行的框架是lua-mongo。
Lua-mongo是一个绑定到Lua的MongoDBC驱动程序-
它为MongoDBCDriver中的MongoDB命令、CRUD操作和GridFS提供了统一的API。
为方便起见,从Lua/JSON到BSON的透明转换。
Lua数字与BSONInt32、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