【问题标题】:Exception Opening Socket kmongo and ktor异常打开套接字 kmongo 和 ktor
【发布时间】:2023-03-08 10:50:01
【问题描述】:

我最近开始学习 ktor,以便我可以制作自己的 api,我设置了我的服务器,一切正常,但现在我想应用这种将数据保存到数据库中的逻辑,然后简单地从数据库加载数据并发送到我的服务器上

  • 这就是我现在的做法
private fun insertDetails(user : ArrayList<userCredentials>){
     val client = KMongo.createClient()
     var database = client.getDatabase("test")
     var collection = database.getCollection<ArrayList<userCredentials>>()
     CoroutineScope(Dispatchers.IO).launch {
         collection.insertOne(user)
     }
 }

*这就是我从 kmongo db 获取数据的方式

private suspend fun getData() : List<ArrayList<userCredentials>> {
    return KMongo.createClient().getDatabase("test")
        .getCollection<ArrayList<userCredentials>>()
        .find().toList()
}
  • 这是一个例外
com.mongodb.MongoSocketOpenException: Exception opening socket

我想问一下我这样做是否正确

这是我的方案:将数据保存在 db 中 -> 从 db 获取数据 -> 将其发送到我的服务器 m 谢谢

【问题讨论】:

    标签: kotlin ktor


    【解决方案1】:

    确保 mongo 守护进程正在运行,并且目标端口已在防火墙中打开。

    【讨论】:

      【解决方案2】:

      确实需要运行 mongo 守护进程:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/#using-mongodb-from-10gen-builds

      我必须做的:

      brew tap mongodb/brew
      brew install mongodb-community@5.0
      brew services start mongodb-community@5.0
      

      然后它起作用了。

      【讨论】:

        猜你喜欢
        • 2020-11-13
        • 1970-01-01
        • 2021-11-18
        • 2018-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多