Forked from http://github.com/moai/luamongo's repo.
C.Farabet: changed Makefile to build against Torch7. Added script to automate build on MacOS and Ubuntu (MongoDB + Lua Driver). This script can be executed like this:
curl -s https://raw.github.com/clementfarabet/luamongo/master/install_mongo+luamongo.sh | bash
(On MacOS, the sript assumes Homebrew is installed).
Note: Mongo 2.4 is built from the sources, with a patch that allows building the client as a shared library.
-
MongoConnection - START HERE
Submit issues to the moai github site.
There is a Google Groups mailing list.
require('mongo')
-- Create a connection object
local db = assert(mongo.Connection.New())
-- connect to the server on localhost
assert(db:connect('localhost'))
-- insert a value into the namespace 'test.values'
assert(db:insert('test.values', {a = 10, b = 'str1'}))
-- the same using a JSON string
assert(db:insert('test.values', "{'a': 20, 'b': 'str2'}"))
-- insert a multiple values into the namespace 'test.values'
assert(db:insert_batch('test.values', {{a = 10, b = 'str1'}, {c = 11, d = 'str2'}}))
-- print the number of rows in the namespace 'test.values'
print(db:count('test.values'))
-- query all the values in the namespace 'test.values'
local q = assert(db:query('test.values', {}))
-- loop through the result set
for result in q:results() do
print(result.a)
print(result.b)
end
luamongo is a Lua library that wraps the mongodb C++ API.
The current implementation does not give you raw access to the BSON objects. BSON objects are passed to the API using a Lua table or a JSON string representation. Every returned BSON document is fully marshalled to a Lua table.
This project was forked from the luamongo project on googlecode.