MongoDB erlang连接结束

时间:2016-11-12 03:50:30

标签: mongodb sockets erlang termination

我试图从终端连接到MongoDB服务器,并希望执行一些命令进行练习。但它抛出以下错误(erlang的MongoDB驱动程序来自git https://github.com/comtihon/mongodb-erlang

我听说问题可能是连接超时/套接字关闭超时......我怎么能增加它?或者我如何保持连接持久(至少30分钟)。

3> Database = <<"test">>.
<<"test">>
4> {ok, Connection} = mc_worker_api:connect ([{database, Database}]).
{ok,<0.62.0>}
** exception error: bad argument
5>

来自MongoDB服务器终端。

09:01:05.018+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:49700 #1 (1 connection now open)
09:01:05.021+0530 I NETWORK  [conn1] end connection 127.0.0.1:49700 (0 connections now open)

1 个答案:

答案 0 :(得分:0)

您正在使用的mongo客户端不会引发任何错误的参数异常,但此实现所依赖的bson库会引发该类型的一些例外情况,这会对您提供的消息产生严重影响。如果你grep依赖目录

,你可以找到它
$ grep -r "badarg" deps/

deps/bson/src/bson_schema.erl:            true -> error(badarg, [Document, Spec]);
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    _ -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:    {error, _, _} -> error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    {incomplete, _, _} -> error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    false -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:    false -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    false -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    false -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]).

因此,基于此,我将确保架构有效。尝试使用另一种语言,甚至用另一种语言,看它是否有效。如果它不起作用那么你的mongo服务器有问题,否则mongodb-erlang的实现有一个bug,也许你应该在问题中报告它。