Java的程序没有将所有数据集到MongoDB的表
问题描述:
我有以下Java程序,应该插入2个表中的记录testcoll:Java的程序没有将所有数据集到MongoDB的表
package mongodbTest;
import java.net.UnknownHostException;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
public class HelloMongoDB {
public static void main(String[] args) {
Mongo mongo = null;
DB db=null;
DBCollection table=null;
// Connection to the MongoDB-Server
try {
mongo = new Mongo("localhost", 27017);
} catch (UnknownHostException e) {
e.printStackTrace();
}
//insert data
db = mongo.getDB("testdb");
table = db.getCollection("testcoll");
//create document and insert
BasicDBObject document = new BasicDBObject();
document.put("name", "Andre");
document.put("age", 34);
BasicDBObject document2 = new BasicDBObject();
document2.put("name", "Beatrix");
document2.put("age", 19);
table.insert(document);
table.insert(document2);
}
}
就像你所看到的,它应该插入2记录到testcoll集合中,但它只插入第一个。
> db.testcoll.find()
{ "_id" : ObjectId("54369b986d4b35dd1125e7ea"), "name" : "Andre", "age" : 34 }
有什么建议吗?
Greetings,Andre
答
尝试将“new Mongo”替换为“new MongoClient”,它将默认为已确认的写入,因此如果任何插入操作失败将抛出异常。
请参阅Javadoc以了解这两个类别的不同之处。
http://api.mongodb.org/java/current/com/mongodb/Mongo.html http://api.mongodb.org/java/currrent/com/mongodb/MongoClient.html
您也可以使用重载的插入方法插入的文件清单:
http://api.mongodb.org/java/current/com/mongodb/DBCollection.html#insert(java.util.List)
如果我运行完全相同的代码,我能够同时检索的文件,你确定你检查正确吗? – Jhanvi 2014-10-10 07:45:49
可以更好地审视处理异常的方式。如果发生异常,表示您未能连接,则不应继续尝试插入文档。 – 2014-10-12 07:40:27