繁体   English   中英

使用Java连接到MongoDB

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM