[英]Connection to MongoDB with Java
我正在尝试将Java项目连接到在线mongo数据库。 我遇到了一些问题,因此我决定首先尝试在本地mongo DB上进行连接,但是我仍然遇到相同的问题。
我正在使用3个mongodb库(驱动程序,驱动程序异步和驱动程序核心),3.3.0版本和bson库,3.2.2版本。
当我启动“ helloworld示例”时,从此处复制: http : //www.mkyong.com/mongodb/java-mongodb-hello-world-example/
我有以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/bson/codecs/IterableCodecProvider at com.mongodb.MongoClient.<clinit>(MongoClient.java:84) at mainClass.main(mainClass.java:24) Caused by: java.lang.ClassNotFoundException: org.bson.codecs.IterableCodecProvider at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 2 more
注意:示例代码使用的方法现已过时,但是即使使用新版本的代码(使用MongoClient)替换了代码,我仍然遇到相同的错误。
解决方案:
在以下位置下载BSON的最新版本: https ://oss.sonatype.org/content/repositories/releases/org/mongodb/bson/或https://mvnrepository.com/artifact/org.mongodb/bson/
该示例中提供的代码需要更新:使用MongoClient而不是仅Mongo。 插入示例代码:
/**** Connect to MongoDB ****/
String uri = <URI of your mongo DB>
MongoClientURI mgURI = new MongoClientURI(uri);
MongoClient mongo = new MongoClient(mgURI);
/**** Get database ****/
MongoDatabase dataBase = mongo.getDatabase("databaseName");
MongoCollection<Document> userCollection = dataBase.getCollection("CollectionName");
Document document = new Document();
document.put("key1", value1);
document.put("key2", "value2");
// insert into database
userCollection.insertOne(document);
感谢Veeram的回答:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.