android - Realm 获得匹配查询的某些属性而不是所有属性?

标签 android realm realm-mobile-platform realm-list

我有一个巨大的对象类,它有一个属性 description长度约为 20000 个字符的字符串类型。

从查询返回的对象看起来像这样:

obj = {
    id: a9cd46cf-8e9a-4a52-a762-a6ada55d4dd3 UUID
    title: 50 char String
    description: 20000+ char String  
    section: 10 char String
}

当使用 Realm 查询 obj 时会在内存上产生一个非常大的列表,这对性能不利。所以查询看起来像这样:
realm.where<TextBlob>().equalTo("section", "A_SECTION").findAll()

是否可以查询RealmObject只返回 idtitle给定的数据结构?

所需的对象结构:
obj = {
    id: a9cd46cf-8e9a-4a52-a762-a6ada55d4dd3 UUID
    title: 50 char String
}

在一些 ORM 中存在 values筛选; Realm 是否存在类似的东西?

最佳答案

使用 map将属性映射到映射集合。例如,将结果映射到 ArrayListHashMaps .

val results: ArrayList<HashMap<String, String>> = ArrayList()

realm.where<TextBlob>().equalTo("section", "A_SECTION").findAll().map {
    results.add(hashMapOf("id" to it.id, "title" to it.title ))
}

关于android - Realm 获得匹配查询的某些属性而不是所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60631986/

相关文章:

java - 捕获位图并添加水印

android - 对异步图像加载感到困惑

java - 错误 : java. lang.UnsatisfiedLinkError with roboelectric and realm

mobile - Rdbms 可以以一种方式与 Realm 对象服务器同步吗?

synchronization - 如何在 Realm 移动平台上跨不同用户同步?

swift - 如果用户具有管理员权限,是否可以一次查询多个 Realm ?或者有一个多个用户可以同时写入的共享 Realm ?

nginx - 如何使用 nginx 设置 Realm 对象服务器?

android - ListView 过滤器 - 退格过滤(删除)

android - 无法执行 aapt(NoSuchElementException at AbstractIndexedListIterator.next(AbstractIndexedListIterator.java :80)

swift - 尝试执行 Realm 迁移时获取无效的属性名称