KMongo with Coroutines [从远程服务器检索非常长的数据]

问题描述

Kmongo 版本“org.litote.kmongo:kmongo-coroutine:4.2.3”

我连接服务器的代码

fun createMongoClient(dbHost: String = "127.0.0.1",dbPort: String = "27017",dbname: String): CoroutineDatabase {
    return KMongo.createClient(
        ConnectionString("mongodb://$dbHost:$dbPort/$dbname")
    ).coroutine.getDatabase(dbname)
}

inline fun <reified T : Any> DCO.getDatabaseCollection(collectionName: String): CoroutineCollection<T> {
    return createMongoClient(dbHost,dbPort,dbname)
        .getCollection(collectionName)
}

获取数据的示例代码

val start = System.currentTimeMillis()
    println("1: ${System.currentTimeMillis() - start}")

    databaseSetLevelError()
    println("2: ${System.currentTimeMillis() - start}")

    setResaleCatalogs()
    println("3: ${System.currentTimeMillis() - start}")

    val collection = resale["nsk"]
    println("4: ${System.currentTimeMillis() - start}")

    val list = collection?.find()?.limit(500)?.toList()
    println("5: ${System.currentTimeMillis() - start}")

    println(list?.size)
    println("6: ${System.currentTimeMillis() - start}")

和执行的结果

1: 0
2: 140
3: 391
4: 391
5: 27557
500
6: 27558

这是通过“Robo 3Т”客户端执行相同请求的结果

enter image description here

我会很高兴得到任何提示

更新 18.01.21

数据库从 vps 服务器传输到本地计算机并在我的 PC 上启动相同的站点。对本地计算机上的数据库的请求需要 427 毫秒,而在 vps 上需要 1331 毫秒。并且那里和那里的数据库是由 127.0.0.1 执行的本地化访问

在此之前,此数据库位于远程 vps 上

我不明白为什么会有这样的延迟:(

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)