# var doc = col.find(query)
# assert doc["foo"] == 10
# ~~~
- fun find(query: JsonObject): nullable JsonObject do
+ fun find(query: JsonObject, skip, limit: nullable Int): nullable JsonObject do
- assert is_alive
var q = new NativeBSON.from_json_string(query.to_json.to_cstring)
- var c = native.find(q)
+ var s = skip or else 0
+ var l = limit or else 0
+ var c = native.find(q, s, l)
q.destroy
if c == null then return null
var cursor = new MongoCursor(c)
# query["foo"] = 10
# assert col.find_all(query).length > 0
# ~~~
- fun find_all(query: JsonObject): Array[JsonObject] do
+ fun find_all(query: JsonObject, skip, limit: nullable Int): Array[JsonObject] do
- assert is_alive
+ var s = skip or else 0
+ var l = limit or else 0
var res = new Array[JsonObject]
- var c = native.find(query.to_bson.native)
+ var c = native.find(query.to_bson.native, s, l)
if c == null then return res
var cursor = new MongoCursor(c)
- for item in cursor do res.add item
+ while cursor.is_ok do
+ res.add cursor.item
+ cursor.next
+ end
return res
end