You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin Multi Platform本地Realm升级云端:MongoClient.create引用未解析

问题:MongoClient.create 未解析引用错误(本地Realm迁移至MongoDB云端)

我正在将本地Realm应用迁移到MongoDB云端版本,按照官方教程操作后,编写连接代码时遇到了MongoClient.create未解析引用的错误。

我的代码

import com.mongodb.reactivestreams.client.MongoClient
import io.realm.kotlin.Realm
import io.realm.kotlin.RealmConfiguration
import io.realm.kotlin.ext.isManaged
import io.realm.kotlin.ext.query
import io.realm.kotlin.query.RealmResults
import org.mongodb.kbson.ObjectId
import todaysDateAsLong
import kotlinx.coroutines.runBlocking
import org.w3c.dom.Document
import javax.management.Query.eq

fun connectToRealmServer()  {
    // 替换为你的凭证和主机地址
    val uri = "mongodb+srv://MyCompany:<password>@atlascluster.j1c9yxd.mongodb.net/?retryWrites=true&w=majority&appName=AtlasCluster"

    val mongoClient = MongoClient.create(uri) //<-- 此处出现 UNRESOLVED REFERENCE 错误
    val database = mongoClient.getDatabase("sample_mflix")
    val collection = database.getCollection<Document>("movies")
    runBlocking {
        val doc = collection.find(eq("title", "Back to the Future")).firstOrNull()
        if (doc != null) {
            println(doc.toJson())
        } else {
            println("未找到匹配文档。")
        }
    }
    mongoClient.close()
}

build.gradle 相关配置

plugins {
    alias(libs.plugins.kotlinMultiplatform)
    alias(libs.plugins.androidApplication)
    alias(libs.plugins.jetbrainsCompose)
    id("io.realm.kotlin") version "1.11.1"
}

....

dependencies {
    implementation(libs.androidx.material)
    implementation(libs.androidx.material3.android)
    implementation(libs.mongodb.driver.kotlin.coroutine)
    implementation(libs.bson.kotlinx)
}

libs.version.toml 相关配置

mongodb-driver-kotlin-coroutine = { module = "org.mongodb:mongodb-driver-kotlin-coroutine", version = "5.1.0" }

[plugins]
androidApplication = { id = "com.android.application", version.ref = "agp" }
androidLibrary = { id = "com.android.library", version.ref = "agp" }
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }

请问我哪里操作有误?从本地Realm转云端是否需要移除某些内容导致该问题?附Android Studio配置截图:

Android Studio配置截图


内容的提问来源于stack exchange,提问作者user443654

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 02:20:05