目的
快速搭建 Lua 开发环境,并用 Lua 操作 MongoDB。
开发环境:Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-79-generic x86_64)
Lua:一种轻量、高效、可嵌入的编程语言,长用于游戏开发(比如 魔兽、剑网三等)
LuaRocks:目前比较常用的 Lua 包管理工具
MongoDB:性能优异、易于存取的文档数据库
##环境的搭建
主要分为三步:Lua、LuaRocks、MongoDB
Lua
官网资料:Getting started
1 2 3 4 5 6 7 8
| $ curl -R -O http://www.lua.org/ftp/lua-5.3.4.tar.gz $ tar zxf lua-5.3.4.tar.gz $ cd lua-5.3.4 $ make macosx test $ make macosx
# 测试是否安装成功 $ lua -v
|
LuaRocks
前提:正确安装 Lua
官网资料
1 2 3 4 5 6 7 8
| $ wget https://luarocks.org/releases/luarocks-2.4.1.tar.gz $ tar zxpf luarocks-2.4.1.tar.gz $ cd luarocks-2.4.1 $ ./configure; sudo make bootstrap $ sudo luarocks install luasocket $ lua Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio > require "socket"
|
MongoDB
官网资料
1 2 3 4 5
| $ brew update $ brew install mongodb
# 启动 Mongo $ mongod
|
用 Lua 操作 MongoDB
安装 Lua Mongo Driver
lua-mongo:官方详细资料
1 2 3 4
| # mac 上的安装方式如下,其他平台请参考官方资料 $ brew install mongo-c-driver $ sudo luarocks install lua-mongo
|
代码
如下代码主要是 连接 mongo,并且插入一条数据,查询相应数据
更详细的例子可参考官方资料,以及测试目录下的例子
1 2 3 4 5 6 7 8 9 10
| local mongo = require 'mongo' local client = mongo.Client 'mongodb://127.0.0.1' local collection = client:getCollection('lua-mongo-test', 'test')
local id = mongo.ObjectID() collection:insert { _id = id, name = 'John Smith', age = 50 } print(collection:count({}, {}))
local query1 = mongo.BSON { _id = id } print(collection:findOne(query1))
|