用android连接到MongoDB

问题描述 投票:0回答:1

我正在尝试连接到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年没有更新了。有更新的替代品吗?是否有正式支持android的备用免费NoSQL数据库?

我在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()
        }
    }
}
android mongodb kotlin
1个回答
0
投票

像这些(涉及内部连接或不支持的驱动程序;-))在Android上通常很难(甚至不可能)。

既然你要求替代品,我建议http://objectbox.io/。 Afaik它是作为一个原生NoSQL数据库实现的,这使得它非常快。 您基本上可以直接存储对象,而不必先将它们转换为Documents。

© www.soinside.com 2019 - 2024. All rights reserved.