-
Notifications
You must be signed in to change notification settings - Fork 58
MongoCursor
slzhu edited this page Jun 24, 2019
·
8 revisions
next() - Returns the next single result set (as a table) in the results of a query operation.
result = cursor:next()
results() - Similar to the next method but returns an iterator function (as opposed to a table) that can be used in a for loop.
iterator = cursor:results()
has_more(in_current_batch)
has_more = cursor:has_more([bool])
- in_current_batch: pass true to call moreInCurrentBatch (mongo >=1.5)
itcount()
it_count = cursor:itcount()
is_dead()
is_dead = cursor:is_dead()
is_tailable()
is_tailable = cursor:is_tailable()
has_result_flag()
has_result_flag = cursor:has_result_flag()
get_id()
id = cursor:get_id()
local mongo = 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