ドキュメントの制限されたサイズを照会するために動作する次のサンプルを参照してください。
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})
制限サイズは期待どおりに機能せず、クエリは一致したすべてのドキュメントを返します。
制限サイズのインデックス フィールドを $orderby したいのですが、何が欠けているのか説明してもらえますか? 前もって感謝します!
ところで: 現在の公式の erlang ドライバーはリファクタリング中です。使用している erlang ドライバーのバージョンは 0.2.1 です。
元の投稿はこちら