首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin KMongo库嵌套查询不能工作

Kotlin KMongo库嵌套查询不能工作
EN

Stack Overflow用户
提问于 2021-09-12 19:35:31
回答 1查看 270关注 0票数 2

如果使用嵌套属性查询,则总是返回null,我不知道为什么,只需跟踪官方网站文档文档链接

代码语言:javascript
复制
database.getCollection<User>().findOne(User::auth / Auth::ssaid eq p.ssaid, User::auth / Auth::password eq p.password) 

没有嵌套的属性查询--这一切都很好。

代码语言:javascript
复制
database.getCollection<User>().findOne(User::lastlogin eq p.lastlogin)

模型类代码

代码语言:javascript
复制
data class Auth(val password: String, val ssaid: String, val localLastLogin: String)

data class User(
    @BsonProperty(useDiscriminator = true) val auth: Auth,
    val lastLogin: String = Instant.now().toString(),
    val members: List<Member> = emptyList(),
    val channels: List<Channel> = emptyList()
) : Data()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-12 22:06:13

您需要按以下方式使用@field:BsonProperty

代码语言:javascript
复制
data class User(
    @field:BsonProperty(useDiscriminator = true) val auth: Auth,
    val lastLogin: String = Instant.now().toString(),
    val members: List<Member> = emptyList(),
    val channels: List<Channel> = emptyList()
) : Data()

原因是有多个Java元素是从对应的Kotlin元素生成的,因此在生成的Java字节码中有多个可能的注释位置。因此,您需要明确这一点。更多细节这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69154644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档