2016-11-12 78 views
0

我试图从终端连接到MongoDB服务器,并希望执行几个命令来练习。但它抛出以下错误(Erlang的MongoDB驱动程序从git https://github.com/comtihon/mongodb-erlang得到)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) 

回答

0

您使用的是不产生任何坏的争论异常蒙戈客户端,但此实现依赖于提高该类型的少数例外,这exacly导致你提供的消息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有一个错误,也许你应该在问题中报告它。