А что не так с официальным? Что допиливаете? Может быть это будет
полезно сообществу и вы предложите свои патчи в "апстрим"?
--
Serge Matveenko
mailto: se...@matveenko.ru
github: http://lnkfy.com/1
linkedin: http://lnkfy.com/S
--
--
Страница рассылки: http://groups.google.com/group/erlang-russian
Новости: http://erlanger.ru
Чат: xmpp://erl...@conference.jabber.ru
Чат для оффтопа: xmpp://erlang...@conference.jabber.ru
Правила, действующие в чате и рассылке: http://erlanger.ru/ru/erlang-at-conference-jabber-ru
Написать письмо: erlang-...@googlegroups.com
Отписаться: erlang-russia...@googlegroups.com
Ну, safe - это на самом деле, означает "смотри getLastError".
Его умеет смотреть do/5 http://api.mongodb.org/erlang/mongodb/mongo.html#do-5
Вы им пользуетесь?
write(Request) -> Context = erlang:get(mongo_action_context), case Context#context.write_mode of unsafe -> write(Context#context.connection, Context#context.database, Request); SafeMode -> Params = case SafeMode of safe -> {}; {safe, Param} -> Param end, Ack = write(Context#context.connection, Context#context.database, Request, Params), case bson:lookup(err, Ack, undefined) of undefined -> ok; String -> case bson:at(code, Ack) of 10058 -> erlang:exit(not_master); Code -> erlang:exit({write_failure, Code, String}) end end end.
emongo:insert(pool1, "test", [{oid, {oid, "test"}}]).
emongo:find_all(pool1, "test", []).
** exception exit: {emongo_unknown_type,7,<<"Nt">>}
in function emongo_bson:decode_value/2 (src/emongo_bson.erl, line 245)
in call from emongo_bson:decode_document/2 (src/emongo_bson.erl, line 174)
in call from emongo_bson:decode_next/1 (src/emongo_bson.erl, line 167)
in call from emongo_bson:decode/2 (src/emongo_bson.erl, line 161)
in call from emongo_server:recv/4 (src/emongo_server.erl, line 60)
in call from emongo:'-fold_all_seq/5-fun-1-'/8 (src/emongo.erl, line 172)
in call from emongo:'-find_all_seq/3-fun-1-'/4 (src/emongo.erl, line 156)
in call from emongo:sequence/4 (src/emongo.erl, line 99)
"valid" : false,
"errors" : [
"invalid bson object detected (see logs for more info)"
],
"advice" : "ns corrupt, requires repair",
у меня вот этот клон работает: https://github.com/master/emongo