我有這樣類似的問題也一樣,這是我與官方的MongoDB,二郎驅動程序分辨率:
1.測試MongoDB的記錄:
>db.erltest.find()
{ "_id" : ObjectId("4fe80d692f6cc055a32da380"), "x" : 1, "y" : 2 }
{ "_id" : ObjectId("4fe80d702f6cc055a32da381"), "x" : 2, "y" : 3 }
{ "_id" : ObjectId("4fe80d762f6cc055a32da382"), "x" : 10, "y" : 3 }
{ "_id" : ObjectId("4fe80d7e2f6cc055a32da383"), "x" : 10, "y" : 4 }
2.How實行「db.erltest.find({ x:{$ gt:2}})「via mongodb-erlang?
-module(mongo_test2).
-export([tmp_test/0]).
-include ("/opt/Erlang/lib/erlang/lib/mongodb-master/include/mongo_protocol.hrl").
tmp_test() ->
application:start(mongodb),
Host = {localhost, 27017},
{ok, Conn} = mongo:connect(Host),
io:format("Conn is : ~p~n", [Conn]),
DbConn = {test, Conn},
Cursor = mongo_query:find(DbConn, #'query'{collection=erltest, selector={x, {'$gt', 2}}}),
process(Cursor),
mongo:disconnect(Conn).
process({}) ->
ok;
process(Cursor) ->
io:format("----Cursor:~p~n", [Cursor]),
Record = mongo:next(Cursor),
io:format("Record:~p~n", [Record]),
case Record of
{} ->
no_more;
_ ->
process(Cursor)
end.
摘要:
- 請確保包括與* mongo_protocol.hrl *文件的正確路徑。
Cursor = mongo_query:find(DbConn, #'query'{collection=erltest, selector={x, {'$gt', 2}}})
是詳細的實現。
- 也許mongodb_test.erl可以爲您提供更多的細節。
- 我是一個Erlang新手,尋找上述使用帶我一段時間,希望這有助於您:)
是的,我檢查所有這些,但沒有發現的例子。 – Dfr 2012-02-02 07:11:36
你確定嗎?那麼:https://github.com/JacobVorreuter/emongo/blob/master/README.markdown – 2012-02-02 10:47:18
這是emongo,它有更好的記錄,毫無疑問,但我希望獲得官方驅動程序的例子 – Dfr 2012-02-02 12:56:32