MongoClient是抽象的,无法实例化

时间:2019-01-29 16:55:48

标签: java android mongodb

我正在开发一个android应用程序,并且试图与MongoDB Atlas上托管的远程数据库建立连接。通过阅读他们的API,他们为Java提供了MongoClientURI,MongoClient和MongoDatabase类型的连接。如下所示:

enter image description here

我导入的库如下:

import com.mongodb.MongoClientURI; 
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoDatabase;

我还在build.gradle中添加了以下依赖项

dependencies {
    implementation 'org.mongodb:mongo-java-driver:3.9.1'
    implementation 'org.mongodb:mongodb-driver-sync:3.9.1'
}

最后但并非最不重要的一点是,我在AndroidManifest.xml中添加了INTERNET权限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

我在MongoClient对象上遇到错误,如顶部图片所示-

“无法实例化MongoClient是抽象的”

我不确定如何继续进行并最终解决此问题。我知道不能实例化抽象类,但这是我从MongoDB Atlas及其页面-"Connect via driver"的那一边看到的,它展示了如何使用Java(同步)进行连接。 / p>

我觉得我缺少一些小东西,但无法弄清楚。

1 个答案:

答案 0 :(得分:1)

您在问题中链接的文档似乎已过时...

查看MongoDB 3.9 driver for Java的文档。

  

您可以实例化没有任何参数的MongoClient对象   在端口27017上连接到在本地主机上运行的MongoDB实例:

MongoClient mongoClient = MongoClients.create();
     

或者您可以指定ConnectionString

MongoClient mongoClient = MongoClients.create("mongodb://hostOne:27017,hostTwo:27018");