#kotlin #ktor
#kotlin #ktor
Вопрос:
Недавно я начал изучать 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
private suspend fun getData() : List<ArrayList<userCredentials>> {
return KMongo.createClient().getDatabase("test")
.getCollection<ArrayList<userCredentials>>()
.find().toList()
}
- Это исключение
com.mongodb.MongoSocketOpenException: Exception opening socket
я хотел бы спросить, правильно ли я это делаю
Вот моя схема для этого: сохранить данные в БД -> получить данные из БД -> отправить их на мой сервер 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
И тогда это сработало.