2014-09-21 148 views
0

我创建的MongoDB服务器的mongod命令,并等待在端口27017 我使用的Java和Eclipse连接来连接到它的MongoDB连接 这里是我的代码与Java

package mt; 

import java.net.UnknownHostException; 

import com.mongodb.*; 

public class mtrial { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     try { 
      MongoClient mc = new MongoClient("localhost",27017); 
      @SuppressWarnings("unused") 
      DB db = mc.getDB("mydb"); 
      System.out.println("Connected"); 
     } catch (UnknownHostException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      System.err.println(e.getClass().getName() + ": " + e.getMessage()); 
     } 
    } 
} 

我的问题是代码成功运行>> BUT < < <在现实中,连接不发生......我的服务器端不断地等待27017端口上的连接....

有没有什么,我失踪?

+0

您是否尝试过访问mongo集合或写入数据? – Smutje 2014-09-21 14:39:39

+0

目前还不清楚你在问什么。您的mongod服务器将接受到端口27017的许多连接,而不仅仅是一个。 – JohnnyHK 2014-09-21 14:40:36

+0

当我使用终端作为客户端(使用命令./mongo)它工作..但hwen我使用java,它没有得到连接 – 2014-09-21 14:42:10

回答

0

我知道它的作用与其他数据库有所不同。当您尝试实际访问集合操作(​​CRUD等)时,只有您看到服务器上的连接请求。 您可以尝试给出错误的端口号,也不会收到异常,直到您访问集合操作。如果你把第3,4,5行,那么你可以看到服务器上的连接请求

1. MongoClient c = new MongoClient("localhost",27017); 
2. DB db = c.getDB("test1"); 
3. DBCollection animals = db.getCollection("animals"); 
4. BasicDBObject animal = new BasicDBObject("animal", "monkey"); 
5. animals.insert(animal); 
+0

你是对的...我观察到database.0和database.ns不会被创建,直到你使用收集操作...虽然我已经提供了名称作为争论getDB()方法.....所以我想代码不工作....谢谢 – 2014-09-21 15:34:35