Realm查询

RealmQuery使用Builder模式封装对RealmRealmResultsRealmList实例的查询。 使用 find 或订阅 asFlow 返回的 来执行查询。

Realm是无序的,这意味着不能保证查询会按照插入对象的顺序返回对象。 如果需要特定顺序,请使用排序函数。

使用find时,大多数时候都可以快速获得结果。 但是,从用户界面线程启动大量查询可能会导致丢帧甚至 ANR。 如果要防止这些行为,可以使用asFlow并异步收集结果。

参数

t

要查询的对象的类。

功能

链接已复制到剪贴板
摘要 乐趣 asFlow(keyPath : List < String > ? = null): Flow<ResultsChange<t>>

查找所有满足查询条件的对象,并将它们作为Flow异步返回。

链接已复制到剪贴板
摘要 乐趣 数数(): RealmScalarQuery<Long>

返回一个RealmScalarQuery ,用于计算满足查询条件的对象数量。

链接已复制到剪贴板
摘要 乐趣 描述(): 字符串

返回查询的文本描述。

链接已复制到剪贴板
摘要 乐趣 distinct(属性: String , vararg extraProperties : String): RealmQuery<t>

选择特定类的一组不同对象。 当给定多个不同字段时,将返回字段中值的所有唯一组合。 如果有多个匹配项,则未定义返回哪个对象。 除非结果已排序,否则将返回第一个对象。

链接已复制到剪贴板
摘要 乐趣 find(): RealmResults<t>

查找所有满足查询条件的对象,并以阻塞方式返回它们。

链接已复制到剪贴板
乐趣 <t : BaseRealmObject, R> RealmQuery<t>.find(区块: ( RealmResults < T > ) -> R): R

RealmQuery.find类似,但它会接收一个区块,其中提供了查询的RealmResults

链接已复制到剪贴板
摘要 乐趣 first(): RealmSingleQuery<t>

返回一个查询,查找第一个满足查询条件的对象。

链接已复制到剪贴板
摘要 乐趣 limit(limit : Int): RealmQuery<t>

限制返回的对象数量,以防查询匹配到更多对象。

链接已复制到剪贴板
摘要 乐趣 <t : Any> Max(属性字符串类型 KClass < T >): RealmScalarNullableQuery<t>

查找属性的最大值。

链接已复制到剪贴板
内联 乐趣 <t : Any> RealmQuery<*>.Max(属性字符串): RealmScalarNullableQuery<t>

RealmQuery.max类似,但类型参数是自动推断的。

链接已复制到剪贴板
摘要 乐趣 <t : Any> min(属性字符串类型 KClass < T >): RealmScalarNullableQuery<t>

查找属性的最小值。

链接已复制到剪贴板
内联 乐趣 <t : Any> RealmQuery<*>.min(属性字符串): RealmScalarNullableQuery<t>

RealmQuery.min类似,但类型参数是自动推断的。

链接已复制到剪贴板
摘要 乐趣 查询(过滤器字符串可变参数任何): RealmQuery<t>

使用逻辑AND筛选器表示的查询附加到现有查询。

链接已复制到剪贴板
摘要 乐趣 sort(propertyAndSortOrder : Pair <字符串, Sort > vararg additionalPropertiesAndOrders : Pair <字符串,排序>): RealmQuery<t>

根据属性和排序顺序,按特定属性名称对查询结果进行排序。

摘要 乐趣 sort(属性: String , sortOrder : Sort = Sort.ASCENDING): RealmQuery<t>

根据sortOrder按特定属性名称对查询结果进行排序,默认为Sort.ASCENDING

链接已复制到剪贴板
摘要 乐趣 <t : Any> 总和(属性字符串类型 KClass < T >): RealmScalarQuery<t>

计算给定属性的总和。

链接已复制到剪贴板
内联 乐趣 <t : Any> RealmQuery<*>.总和(属性字符串): RealmScalarQuery<t>

RealmQuery.sum类似,但类型参数是自动推断的。