Does the query return an invalid result using the mongdb erlang driver?

When i tried

Query = {country, <"US" →}, mongo: find (Col, {'$ query', Query, '$ orderby', {last_seen, -1}}, Projector, 0, 15),

The returned cursor is not limited to batch size 15. It will return all results to the cursor. However, if I change it to

mongo: find (Col, Query, Projector, 0, 15),

It will return a cursor with size 15.

Is this a mistake or have I done something wrong?

+1
source share
1 answer

It works for me in the example below.

run () ->
    application:start (mongodb),
    {ok, Conn} = mongo:connect (localhost),
    {ok, Docs} = mongo:do (safe, master, Conn, test, fun() ->
        mongo:delete (foo, {}),
        mongo:insert_all (foo, [{x,1}, {x,2}, {x,3}, {x,0}, {x,-1}]),
        Cur = mongo:find (foo, {'$query', {}, '$orderby', {x,1}}, {'_id',0}, 0, 3),
        mongo:rest (Cur) end),
    mongo:disconnect (Conn),
    [{x,-1}, {x,0}, {x,1}] = Docs.
+2
source

All Articles