请参阅以下示例,它可以查询有限大小的文档,
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.
但是如果我确保一个带有 x 的索引:
db.foo.ensureIndex({x:1})
限制大小不会按预期工作,查询将返回所有匹配的文档。
我想通过限制大小的索引字段来$order,你能帮我解释一下我想念什么吗?提前致谢!
BTW:目前官方erlang驱动正在重构,我使用的erlang驱动版本是0.2.1
原帖在这里