使用java在MongoDB集合中插入文档时出错

使用java在MongoDB集合中插入文档时出错,java,mongodb,document,Java,Mongodb,Document,将文档插入mongodb集合时出现以下错误 Jul 3, 2012 10:27:31 PM com.mongodb.DBTCPConnector fetchMaxBsonObjectSize WARNING: Exception determining maxBSONObjectSize java.io.EOFException at org.bson.io.Bits.readFully(Bits.java:48) at org.bson.io.Bits.readFully(B

将文档插入mongodb集合时出现以下错误

Jul 3, 2012 10:27:31 PM com.mongodb.DBTCPConnector fetchMaxBsonObjectSize
WARNING: Exception determining maxBSONObjectSize 
java.io.EOFException
    at org.bson.io.Bits.readFully(Bits.java:48)
    at org.bson.io.Bits.readFully(Bits.java:33)
    at org.bson.io.Bits.readFully(Bits.java:28)
    at com.mongodb.Response.<init>(Response.java:40)
    at com.mongodb.DBPort.go(DBPort.java:127)
    at com.mongodb.DBPort.go(DBPort.java:92)
    at com.mongodb.DBPort.findOne(DBPort.java:145)
    at com.mongodb.DBPort.runCommand(DBPort.java:156)
    at com.mongodb.DBTCPConnector.fetchMaxBsonObjectSize(DBTCPConnector.java:467)
    at com.mongodb.Mongo.getMaxBsonObjectSize(Mongo.java:574)
    at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:241)
    at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:211)
    at com.mongodb.DBCollection.insert(DBCollection.java:57)
    at com.mongodb.DBCollection.insert(DBCollection.java:102)
    at DBOperations.addDocument(DBOperations.java:54)
    at MongoBook.main(MongoBook.java:28)
Jul 3, 2012 10:27:39 PM com.mongodb.DBTCPConnector fetchMaxBsonObjectSize
WARNING: Exception determining maxBSONObjectSize 
java.io.EOFException
    at org.bson.io.Bits.readFully(Bits.java:48)
    at org.bson.io.Bits.readFully(Bits.java:33)
    at org.bson.io.Bits.readFully(Bits.java:28)
    at com.mongodb.Response.<init>(Response.java:40)
    at com.mongodb.DBPort.go(DBPort.java:127)
    at com.mongodb.DBPort.go(DBPort.java:92)
    at com.mongodb.DBPort.findOne(DBPort.java:145)
    at com.mongodb.DBPort.runCommand(DBPort.java:156)
    at com.mongodb.DBTCPConnector.fetchMaxBsonObjectSize(DBTCPConnector.java:467)
    at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:446)
    at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:145)
    at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:137)
    at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:261)
    at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:211)
    at com.mongodb.DBCollection.insert(DBCollection.java:57)
    at com.mongodb.DBCollection.insert(DBCollection.java:102)
    at DBOperations.addDocument(DBOperations.java:54)
    at MongoBook.main(MongoBook.java:28)
数据库操作类

import java.net.UnknownHostException;
import java.util.ArrayList;

import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;

class DBOperations
{
    private String hostUrl; // To store host url of Database Server
    private int port; // To store port no of Database Server
    private Mongo mongo = null; 
    private DB db = null;
    private DBCollection collContacts = null;

    public DBOperations(String host,int port) throws UnknownHostException
    {
        this.hostUrl = host;
        this.port = port;   
        mongo = new Mongo(host, port);
        db = mongo.getDB("ContactDB");
        collContacts = db.getCollection("Contacts");
    }

    // Method to get host url no for database server
    public String getHostUrl() {
        return hostUrl;
    }

    // Method to set host url no for database server 
    public void setHostUrl(String hosturl) {
        this.hostUrl = hosturl;
    }

    // Method to get port no for database server 
    public int getPort() {
        return port;
    }

    //Method to set port no for database server 
    public void setPort(int port) {
        this.port = port;
    }    

    // Method to add document to collection
    public void addDocument(BasicDBObject doc)
    {
        if (doc!=null)
        {
            this.collContacts.insert(doc);  

        }
    }

    //Method to retrieve all documents with specific criteria
    public ArrayList<BasicDBObject> getDocuments(BasicDBObject dbfind)
    {
       ArrayList<BasicDBObject> docList = new ArrayList<BasicDBObject>();
       DBCursor cur = this.collContacts.find(dbfind);

       while(cur.hasNext())
       {
           docList.add((BasicDBObject) cur.next());
       }
       return docList;
    }

}
import java.net.UnknownHostException;
导入java.util.ArrayList;
导入com.mongodb.Mongo;
导入com.mongodb.DB;
导入com.mongodb.DBCollection;
导入com.mongodb.BasicDBObject;
导入com.mongodb.DBObject;
导入com.mongodb.DBCursor;
类DBO操作
{
私有字符串hostUrl;//用于存储数据库服务器的主机url
private int port;//用于存储数据库服务器的端口号
private Mongo Mongo=null;
私有DB=null;
private DBCollection coll contacts=null;
公共DBOperations(字符串主机、int端口)引发UnknownHostException
{
this.hostUrl=host;
this.port=端口;
mongo=新的mongo(主机、端口);
db=mongo.getDB(“ContactDB”);
collContacts=db.getCollection(“联系人”);
}
//方法获取数据库服务器的主机url号
公共字符串getHostUrl(){
返回hostUrl;
}
//方法设置数据库服务器的主机url号
public void setHostUrl(字符串hosturl){
this.hostUrl=hostUrl;
}
//方法获取数据库服务器的端口号
公共int getPort(){
返回端口;
}
//方法为数据库服务器设置端口号
公共无效设置端口(int端口){
this.port=端口;
}    
//方法将文档添加到集合中
公共作废添加文档(基本对象文档)
{
如果(doc!=null)
{
此.coll.contacts.insert(doc);
}
}
//方法检索具有特定条件的所有文档
公共ArrayList getDocuments(BasicDBObject dbfind)
{
ArrayList docList=新的ArrayList();
DBCursor cur=this.collContacts.find(dbfind);
while(cur.hasNext())
{
add((BasicDBObject)cur.next());
}
返回文件清单;
}
}
我是MongoDB的新手。
有人能告诉我为什么会发生此错误以及解决方法是什么吗?

将您连接的端口号从28017更改为27017。即改为:

new DBOperations("localhost", 27017);
27017是mongod侦听的默认端口。另一方面,28017是管理员web控制台侦听的默认端口。

可能重复的
new DBOperations("localhost", 27017);