MongoDB erlang 连接结束

Posted

技术标签:

【中文标题】MongoDB erlang 连接结束【英文标题】:MongoDB erlang connection ending 【发布时间】:2017-03-26 08:35:07 【问题描述】:

我正在尝试从终端连接到 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】:

您使用的 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 的实现有一个错误,也许你应该在问题中报告它。

【讨论】:

以上是关于MongoDB erlang 连接结束的主要内容,如果未能解决你的问题,请参考以下文章

为什么 MongoDB 连接数被用满了?

mongo和mongod的区别

使用robomongo 怎么连接 mongodb 报错network is unreachable

安装完MongoDB后尝试mongod -dbpath命令为什么会一直卡在连接端口?

Mac查看关闭MongoDB

Mac查看关闭MongoDB