Mongodb 使用KMongo对pojo进行严格解析

Mongodb 使用KMongo对pojo进行严格解析,mongodb,kotlin,kmongo,Mongodb,Kotlin,Kmongo,当我在我的集合中查找文档并将它们解析为POJO时,如果MongoDB中有与我的POJO不对应的其他键,我希望看到异常。 找不到配置的方法 我做什么 data class MyPojo(var a: Int) val mongoClient = KMongo.createClient(...) val collection = mongoClient... val results = collection.aggregate<MyPojo>(...) 我得到的是: MyPojo(a

当我在我的集合中查找文档并将它们解析为POJO时,如果MongoDB中有与我的POJO不对应的其他键,我希望看到异常。 找不到配置的方法

我做什么

data class MyPojo(var a: Int)

val mongoClient = KMongo.createClient(...)
val collection = mongoClient...
val results = collection.aggregate<MyPojo>(...)
我得到的是:

MyPojo(a=1)
我想看到一个例外

kotlinx.serialization.json.JsonDecodingException: Invalid JSON...: Encountered an unknown key b

有人知道怎么做吗?

您必须在JSON配置中指定
stricmode=true
,例如:

install(ContentNegotiation) {
    serialization(
        contentType = ContentType.Application.Json,
        json = Json(
            JsonConfiguration(
                strictMode = true,
                prettyPrint = true
            )
        )
    )
}
install(ContentNegotiation) {
    serialization(
        contentType = ContentType.Application.Json,
        json = Json(
            JsonConfiguration(
                strictMode = true,
                prettyPrint = true
            )
        )
    )
}