我正在开发一个android应用程序,并且试图与MongoDB Atlas上托管的远程数据库建立连接。通过阅读他们的API,他们为Java提供了MongoClientURI,MongoClient和MongoDatabase类型的连接。如下所示:
我导入的库如下:
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>
我觉得我缺少一些小东西,但无法弄清楚。
答案 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");