【问题标题】:MongoDB java connection issues [duplicate]MongoDB java连接问题[重复]
【发布时间】:2011-05-09 15:59:57
【问题描述】:

我正在尝试运行以下代码:

public static void main(String args[]) throws UnknownHostException, MongoException{
        Mongo m = new Mongo( "localhost", 27017 );
        DB db = m.getDB( "test" );


        Set<String> coll = db.getCollectionNames();
    }

但由于某种原因,我遇到了连接问题:

bc:java.net.ConnectException:连接被拒绝:连接

编辑:Nvm 我忘了在后台运行数据库

【问题讨论】:

  • 首先是显而易见的:你的 mongo 正在运行吗?它在侦听端口 27017 吗?你用 mongo trough 命令行测试过这个吗?

标签: java mongodb


【解决方案1】:

显然,请确保您可以在“localhost”端口 27017 上连接到 MongoDB。您应该能够不带参数打开 MongoDB shell 并得到提示:

» mongo
MongoDB shell version: 1.8.1
connecting to: test
> 

如果你不能,答案应该很明显:MongoDB 没有运行。您需要确保启动 MongoDB 服务器进程。 MongoDB Docs 中有一些 Quickstart Guides 应该可以指导您选择平台上的流程。

否则,您没有说明您在哪个平台上,但 Java 如何解析某些主机名(如 Mac OS X 上的“localhost”)存在问题...这实际上是 Java 问题,而不是 MongoDB Java 驱动程序问题.

当要求将“localhost”从主机名解析为 InetSocketAddr 时,Java for Mac 通常会返回您机器的外部接口的 IP。由于一些 Mac MongoDB 安装程序(如 Homebrew)将侦听 IP 地址锁定为 127.0.0.1,这可能会导致在使用 Java 的 Mac 上连接到“localhost”完全失败。

【讨论】:

    猜你喜欢
    • 2020-08-11
    • 1970-01-01
    • 2011-06-03
    • 2014-10-21
    • 2021-02-09
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 2019-02-28
    相关资源
    最近更新 更多