Synopsis
require('mongo')
-- query all the values in the namespace 'test.values' where a > 10
local q1 = assert(db:query('test.values', {a = {['$gt'] = 10}}))
-- loop through the result set
for result in q1:results() do
print(result.a)
print(result.b)
end
-- query all the values in the namespace 'test.values' where a < 10 (JSON version)
local q2 = assert(db:query('test.values', "{'a': {'$lt': 10}}"))
local result = q2:next()
while result do
print(result.a)
print(result.b)
result = q2:next()
end
Methods
result = query:next()
Returns the next single result set (as a table) in the results of a query operation.
iterator = query:results()
Similar to the next method but returns an iterator function (as opposed to a table) that can be used in a for loop.
has_more = cursor:has_more(in_current_batch)
- pass true to call moreInCurrentBatch (mongo >=1.5)
it_count = cursor:itcount()
is_dead = cursor:is_dead()
is_tailable = cursor:is_tailable()
has_result_flag = cursor:has_result_flag()
id = cursor:get_id()