异常打开套接字 kmongo 和 ktor
Posted
技术标签:
【中文标题】异常打开套接字 kmongo 和 ktor【英文标题】:Exception Opening Socket kmongo and ktor 【发布时间】:2021-01-07 01:31:28 【问题描述】:我最近开始学习 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 谢谢
【问题讨论】:
【参考方案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
然后它起作用了。
【讨论】:
以上是关于异常打开套接字 kmongo 和 ktor的主要内容,如果未能解决你的问题,请参考以下文章
Kmongo (Kotlin Server + Mongo) 的 Ktor 服务器配置问题
尝试将docker容器连接到mongodb时出现异常打开套接字异常
com.mongodb.MongoSocketOpenException:异常打开套接字(MongoDB,Docker)
Kotlin/Native 无法导入 io.ktor.network.selector.ActorSelectorManager