我试图在Android中连接到我的MongoDB数据库,但我遇到了问题。我明白了:
I / cluster:使用设置创建的集群{hosts = [mlab_string],mode = SINGLE,requiredClusterType = UNKNOWN,serverSelectionTimeout =' 30000 ms',maxWaitQueueSize = 500}
然后我得到:
I / cluster:PrimaryServerSelector从群集描述中选择的服务器ClusterDescription {type = UNKNOWN,connectionMode = SINGLE,all = [ServerDescription {address = mlab_string,type = UNKNOWN,state = CONNECTING}]}。在超时之前等待30000毫秒
是否有连接? 我使用this库作为MongoDB驱动程序,因为我读到android不支持官方驱动程序。我注意到这个库已经有2年没有更新了。有更新的替代品吗?是否有任何备用的免费NoSQL数据库正式支持android?
我在Asynctask中调用此方法来产生这些错误:
fun insert(user: User){
var client : MongoClient? = null
try{
val uri = MongoClientURI("mongodb://Username:Password@mlab_String")
client = MongoClient(uri)
val db = client.getDatabase(uri.database)
val coll = db.getCollection("collname")
coll.insertOne(user.returnAsDoc())
}catch(e: Exception){
e.printStackTrace()
}finally{
try{
client!!.close()
}catch(e2: Exception){
e2.printStackTrace()
}
}
}
答案 0 :(得分:0)
这些事情(涉及内部连接或不受支持的驱动程序;-))在Android上通常很难(甚至不可能)。
由于您要求替代方案,我建议http://objectbox.io/。 Afaik它是作为一个原生的NoSQL数据库实现的,这使得它非常快 您基本上可以直接存储对象,而不必先将它们转换为文档。