首页 > 解决方案 > 连接MongoDB atlas集群与morphia

问题描述

我一直在尝试使用morphia将我的 kotlin + Ktor 应用程序连接到 mongodb atlas 集群。我已经遵循了几个关于如何做到这一点的教程,但每次我收到这个错误:

    at com.example.ApplicationKt.main(Application.kt:16)
Caused by: java.lang.NoSuchMethodError: 'java.lang.Integer com.mongodb.ConnectionString.getThreadsAllowedToBlockForConnectionMultiplier()'
    at com.mongodb.MongoClientURI.getOptions(MongoClientURI.java:351)
    at com.mongodb.Mongo.createCluster(Mongo.java:724)
    at com.mongodb.Mongo.<init>(Mongo.java:312)
    at com.mongodb.Mongo.<init>(Mongo.java:308)
    at com.mongodb.MongoClient.<init>(MongoClient.java:326)
    at com.example.di.ModulesKt$appModules$1.invoke(modules.kt:17)

似乎问题出在尝试连接到集群的 MongoClient 中。以下是我尝试创建 morphia 数据存储的方式:

    val uri = MongoClientURI("mongodb+srv://admin:<password>@my-db-1dodp.mongodb.net/test?retryWrites=true&w=majority")
    val client = MongoClient(uri)
    fun getDB(): Datastore { return Morphia().mapPackage("com.example.ktor").createDatastore(client, "db-name")}

可能是什么问题呢?

标签: mongodbkotlinmorphiaktor

解决方案


推荐阅读