Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ / /

RealmQuery 类

在此页面上

  • io.realm
  • 方法摘要
  • 继承方法
  • 方法详细信息
  • alwaysFalse
  • alwaysTrue
  • 平均值
  • averageDecimal128
  • averageRealmAny
  • beginGroup
  • beginswith
  • between
  • contains
  • containsEntry
  • containsKey
  • containsValue
  • 数数
  • distinct
  • endGroup
  • endswith
  • EqualTo
  • findAll
  • findAllAsync
  • findFirst
  • findFirstAsync
  • getDescription
  • getQueryPointer
  • getRealm
  • getTypeQueried
  • 大于
  • moreThanOrEqualTo
  • in
  • isEmpty
  • isNotEmpty
  • isNotNull
  • IsNull
  • isValid
  • 小于
  • 小于或等于
  • 就像
  • limit
  • Max
  • maxRealmAny
  • maximumDate
  • min
  • minRealmAny
  • minimumDate
  • not
  • 不等于
  • or
  • rawPredicate
  • sort
  • 总和
java.lang.Object
io.realm.RealmQuery

RealmQuery 封装了对 io 的查询。 域。 Realm 或 io. 域 使用 Builder模式。使用findAll()findFirst()执行查询。

许多查询函数的输入将字段名称视为字符串。请注意,这不是类型安全的。 如果对 RealmObject 类进行重构,则必须注意不要破坏任何查询。

一个io. 域。 Realm是无序的,这意味着不能保证查询Realm会按对象插入的顺序返回对象。 如果需要特定顺序,请使用sort( string ) ( string )} 和类似方法。

RealmQuery 不能在不同线程之间传递。

大多数时候都能很快得到结果。 但是,从用户界面线程启动大量查询可能会导致丢帧甚至 ANR。 如果要防止这些行为,可以使用显式设置 RealmConfiguration.Builder.allowQueriesOnUiThread(boolean) 的 RealmConfiguration 来实例化Realm false 。 这样,查询将被迫从非用户界面线程启动。 或者,也可以使用findAllAsync()findFirstAsync()

提示

另请参阅:

修饰符和类型
方法和说明

此谓词永远不会匹配,导致查询始终返回 0 个结果。

该谓词将始终匹配。

and ()

逻辑与两个条件 Realm 会自动在所有声明之间应用逻辑与,因此这只是为了提高可读性的平均值。

公共双精度
String fieldName
)

返回给定字段的平均值。

公共Decimal128

返回给定字段的平均值。

公共Decimal128

返回给定字段的平均值。

开始对条件进行分组(“左括号”)。

String fieldName,
RealmAny value,
Case casing
)

条件是字段的值以指定子字符串开头。

String fieldName,
String value,
Case casing
)

条件是字段的值以指定子字符串开头。

String fieldName,
RealmAny value
)

条件是字段的值以指定字符串开头。

String fieldName,
String value
)

条件是字段的值以指定字符串开头。

String fieldName,
Decimal128 from,
Decimal128 to
)

介于条件之间。

String fieldName,
RealmAny from,
)

介于条件之间。

String fieldName,
Date from,
Date to
)

介于条件之间。

String fieldName,
float from,
float to
)

介于条件之间。

String fieldName,
double from,
double to
)

介于条件之间。

String fieldName,
long from,
long to
)

介于条件之间。

String fieldName,
int from,
int to
)

介于条件之间。

String fieldName,
RealmAny value,
Case casing
)

条件是字段值包含指定的子字符串。

String fieldName,
String value,
Case casing
)

条件是字段值包含指定的子字符串。

String fieldName,
RealmAny value
)

条件是字段值包含指定的子字符串。

String fieldName,
String value
)

条件是字段值包含指定的子字符串。

条件是该值(如果是字典字段)包含指定的条目。

String fieldName,
String key
)

条件是该值(如果是字典字段)包含指定的键。

String fieldName,
ObjectId value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Decimal128 value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Date value
)

如果该值是字段,则条件包含指定值。

String fieldName,
byte[] value
)

如果该值是字段,则条件包含指定值。

String fieldName,
String value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Float value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Double value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Long value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Integer value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Short value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Byte value
)

如果该值是字段,则条件包含指定值。

String fieldName,
Boolean value
)

如果该值是字段,则条件包含指定值。

公共长整型

统计满足查询条件的对象数量。

String firstFieldName,
java.lang.String[] remainingFieldNames
)

选择特定类的一组不同对象。

结束通过调用beginGroup()打开的条件分组(“右括号”)。

String fieldName,
RealmAny value,
Case casing
)

条件是字段的值以指定子字符串结尾。

String fieldName,
String value,
Case casing
)

条件是字段的值以指定子字符串结尾。

String fieldName,
RealmAny value
)

条件是字段的值以指定字符串结尾。

String fieldName,
String value
)

条件是字段的值以指定字符串结尾。

String fieldName,
ObjectId value
)

等于比较。

String fieldName,
Decimal128 value
)

等于比较。

String fieldName,
RealmAny value,
Case casing
)

等于比较。

String fieldName,
String value,
Case casing
)

等于比较。

String fieldName,
String value
)

等于比较。

查找所有满足查询条件的对象。

查找所有满足查询条件的对象。

公用E

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

公用E

findFirst()类似,但在工作线程上异步运行。

公共string

返回此查询的文本描述。

公共长整型

返回指向底层 C++ 查询的指针。

公共Realm

返回此查询所属的Realm实例。

公共string

返回正在查询的类型的内部 Realm 名称。

String fieldName,
ObjectId value
)

大于比较。

String fieldName,
Decimal128 value
)

大于比较。

String fieldName,
RealmAny value
)

大于比较。

String fieldName,
Date value
)

大于比较。

String fieldName,
float value
)

大于比较。

String fieldName,
double value
)

大于比较。

String fieldName,
long value
)

大于比较。

String fieldName,
int value
)

大于比较。

String fieldName,
ObjectId value
)

大于或等于比较。

String fieldName,
Decimal128 value
)

大于或等于比较。

String fieldName,
Date value
)

大于或等于比较。

String fieldName,
float value
)

大于或等于比较。

String fieldName,
double value
)

大于或等于比较。

String fieldName,
long value
)

大于或等于比较。

String fieldName,
int value
)

大于或等于比较。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
)

相比之下。

in (
String fieldName,
Case casing
)

相比之下。

in (
String fieldName,
)

相比之下。

String fieldName
)

查找被视为“空”的值的条件,即空列表、长度为 0 的字符串或字节数组。

String fieldName
)

查找被视为“非空”值的条件,即具有非空值的列表、字符串或字节数组。

String fieldName
)

测试字段是否不是null

String fieldName
)

测试字段是否为null

公共布尔值

检查io.realm.RealmQuery是否仍然有效,即io.realm.Realm实例尚未关闭以及任何父io.realm.RealmResults仍然有效。

String fieldName,
ObjectId value
)

小于比较。

String fieldName,
Decimal128 value
)

小于比较。

String fieldName,
long value
)

小于比较。

String fieldName,
int value
)

小于比较。

String fieldName,
ObjectId value
)

小于或等于比较。

String fieldName,
Decimal128 value
)

小于或等于比较。

String fieldName,
long value
)

小于或等于比较。

String fieldName,
int value
)

小于或等于比较。

String fieldName,
RealmAny value,
Case casing
)

条件字段的值与指定子字符串匹配,并带有通配符:

  • '*' 匹配 [0, n] unicode 字符

  • '?'匹配单个 unicode 字符。

String fieldName,
String value,
Case casing
)

条件字段的值与指定子字符串匹配,并带有通配符:

  • '*' 匹配 [0, n] unicode 字符

  • '?'匹配单个 unicode 字符。

String fieldName,
RealmAny value
)

条件字段的值与指定子字符串匹配,并带有通配符:

  • '*' 匹配 [0, n] unicode 字符

  • '?'匹配单个 unicode 字符。

String fieldName,
String value
)

条件字段的值与指定子字符串匹配,并带有通配符:

  • '*' 匹配 [0, n] unicode 字符

  • '?'匹配单个 unicode 字符。

long limit
)

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

公众
max (
String fieldName
)

查找字段的最大值。

公共RealmAny
String fieldName
)

查找RealmAny字段的最大值。

公共 日期
String fieldName
)

查找字段的最大值。

公众
min (
String fieldName
)

查找字段的最小值。

公共RealmAny
String fieldName
)

查找RealmAny字段的最小值。

公共 日期
String fieldName
)

查找字段的最小值。

not ()

否定条件。

String fieldName,
ObjectId value
)

不等于比较。

String fieldName,
Decimal128 value
)

不等于比较。

String fieldName,
RealmAny value,
Case casing
)

不等于比较。

String fieldName,
String value,
Case casing
)

不等于比较。

String fieldName,
String value
)

不等于比较。

or ()

逻辑或两个条件。

String predicate,
)

使用 Realm Query Language 创建基于文本的谓词。

java.lang.String[] fieldNames,
io.realm.Sort[] sortOrders
)

按所提供顺序中的特定字段名称对查询结果进行排序。

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

按所提供顺序中的特定字段名称对查询结果进行排序。

String fieldName,
Sort sortOrder
)

按指定字段名称和顺序对查询结果进行排序。

String fieldName
)

按特定字段名称升序对查询结果进行排序。

公众
sum (
String fieldName
)

计算给定字段的总和。

  • 从类 java.lang.Object 继承的方法 :getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitfinalize

此谓词永远不会匹配,导致查询始终返回 0 个结果。
该谓词将始终匹配。
public RealmQuery and ()

逻辑与两个条件 Realm 会自动在所有声明之间应用逻辑与,因此这只是为了提高可读性的平均值。

返回:

查询对象

public double average (
String fieldName
)

返回给定字段的平均值。不支持点字段表示法。

参数

  • fieldName - 计算平均值的字段。 仅支持数字字段。

返回:

查询结果中对象之间给定字段的平均值。对于所有类型的数字字段,该值的类型都是 double。如果对象不存在,或者给定字段的值为null ,则返回0 。计算平均值时,具有null值的对象将被忽略。

抛出异常

public Decimal128 averageDecimal128 (
String fieldName
)

返回给定字段的平均值。不支持点字段表示法。

参数

  • fieldName - 计算平均值的字段。 仅支持十进制128字段。 对于其他数字类型,请考虑使用average( string )

返回:

查询结果中对象之间给定字段的平均值。其类型为 Decimal128。 如果对象不存在或都具有null作为给定字段的值,则将返回0 。计算平均值时,具有null值的对象将被忽略。

抛出异常

public Decimal128 averageRealmAny (
String fieldName
)

返回给定字段的平均值。不支持点字段表示法。

参数

  • fieldName - 计算平均值的字段。 仅支持 RealmAny 字段。 对于其他类型,请考虑使用average( string )

返回:

查询结果中对象之间给定字段的平均值。其类型为 Decimal128。 如果对象不存在或都具有null作为给定字段的值,则将返回0 。计算平均值时,具有null值的对象将被忽略。

抛出异常

开始对条件进行分组(“左括号”)。 必须通过调用endGroup()来关闭群组。

返回:

查询对象。

提示

另请参阅:

String fieldName,
RealmAny value,
Case casing
)

条件是字段的值以指定子字符串开头。

参数

  • fieldName - 要比较的字段。

  • value - 子字符串。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象

抛出异常

String fieldName,
String value,
Case casing
)

条件是字段的值以指定子字符串开头。

参数

  • fieldName - 要比较的字段。

  • value - 子字符串。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象

抛出异常

String fieldName,
RealmAny value
)

条件是字段的值以指定字符串开头。

参数

  • fieldName - 要比较的字段。

  • value - 字符串。

返回:

查询对象。

抛出异常

String fieldName,
String value
)

条件是字段的值以指定字符串开头。

参数

  • fieldName - 要比较的字段。

  • value - 字符串。

返回:

查询对象。

抛出异常

String fieldName,
Decimal128 from,
Decimal128 to
)

介于条件之间。

参数

  • fieldName - 要比较的字段。

  • from - 最低值(含)。

  • to - 最高值(含)。

返回:

查询对象。

抛出异常

String fieldName,
RealmAny from,
)

介于条件之间。

参数

  • fieldName - 要比较的字段。

  • from - 最低值(含)。

  • to - 最高值(含)。

返回:

查询对象。

抛出异常

String fieldName,
Date from,
Date to
)

介于条件之间。

参数

  • fieldName - 要比较的字段。

  • from - 最低值(含)。

  • to - 最高值(含)。

返回:

查询对象。

抛出异常

String fieldName,
float from,
float to
)

介于条件之间。

参数

  • fieldName - 要比较的字段。

  • from - 最低值(含)。

  • to - 最高值(含)。

返回:

查询对象。

抛出异常

String fieldName,
double from,
double to
)

介于条件之间。

参数

  • fieldName - 要比较的字段。

  • from - 最低值(含)。

  • to - 最高值(含)。

返回:

查询对象。

抛出异常

String fieldName,
long from,
long to
)

介于条件之间。

参数

  • fieldName - 要比较的字段。

  • from - 最低值(含)。

  • to - 最高值(含)。

返回:

查询对象。

抛出异常

String fieldName,
int from,
int to
)

介于条件之间。

参数

  • fieldName - 要比较的字段。

  • from - 最低值(含)。

  • to - 最高值(含)。

返回:

查询对象。

抛出异常

String fieldName,
RealmAny value,
Case casing
)

条件是字段值包含指定的子字符串。

参数

  • fieldName - 要比较的字段。

  • value - 子字符串。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

String fieldName,
String value,
Case casing
)

条件是字段值包含指定的子字符串。

参数

  • fieldName - 要比较的字段。

  • value - 子字符串。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

String fieldName,
RealmAny value
)

条件是字段值包含指定的子字符串。

参数

  • fieldName - 要比较的字段。

  • value - 子字符串。

返回:

查询对象。

抛出异常

String fieldName,
String value
)

条件是字段值包含指定的子字符串。

参数

  • fieldName - 要比较的字段。

  • value - 子字符串。

返回:

查询对象。

抛出异常

条件是该值(如果是字典字段)包含指定的条目。

参数

  • fieldName - 要比较的字段。

  • entry - 要搜索的条目。

返回:

查询对象。

抛出异常

String fieldName,
String key
)

条件是该值(如果是字典字段)包含指定的键。

参数

  • fieldName - 要比较的字段。

  • key - 要搜索的键。

返回:

查询对象。

抛出异常

String fieldName,
ObjectId value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
Decimal128 value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
Date value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
byte[] value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
String value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
Float value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
Double value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
Long value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
Integer value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值

返回:

查询对象。

抛出异常

String fieldName,
Short value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
Byte value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

String fieldName,
Boolean value
)

如果该值是字段,则条件包含指定值。

参数

  • fieldName - 要比较的字段。

  • value - 要搜索的值。

返回:

查询对象。

抛出异常

public long count ()

统计满足查询条件的对象数量。

返回:

匹配对象的数量。

抛出异常

String firstFieldName,
java.lang.String[] remainingFieldNames
)

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

参数

  • firstFieldName - 查找不同对象时使用的第一个字段名。

  • remainingFieldNames - 确定字段值的所有唯一组合时剩余的字段名称。

抛出异常

结束通过调用beginGroup()打开的条件分组(“右括号”)。

返回:

查询对象。

提示

另请参阅:

String fieldName,
RealmAny value,
Case casing
)

条件是字段的值以指定子字符串结尾。

参数

  • fieldName - 要比较的字段。

  • value - 子字符串。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

String fieldName,
String value,
Case casing
)

条件是字段的值以指定子字符串结尾。

参数

  • fieldName - 要比较的字段。

  • value - 子字符串。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

String fieldName,
RealmAny value
)

条件是字段的值以指定字符串结尾。

参数

  • fieldName - 要比较的字段。

  • value - 字符串。

返回:

查询对象。

抛出异常

String fieldName,
String value
)

条件是字段的值以指定字符串结尾。

参数

  • fieldName - 要比较的字段。

  • value - 字符串。

返回:

查询对象。

抛出异常

String fieldName,
ObjectId value
)

等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
Decimal128 value
)

等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
RealmAny value,
Case casing
)

等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

String fieldName,
String value,
Case casing
)

等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

String fieldName,
String value
)

等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

查找满足查询条件的所有对象。从用户界面线程启动大量查询可能会导致丢帧甚至 ANR。 我们不建议这样做,因此默认也是不允许的。 如果要防止这些行为,您可以使用显式设置 RealmConfiguration.Builder.allowQueriesOnUiThread(boolean) 的 RealmConfiguration 来获取Realmfalse 。 这样,您将被迫从非用户界面线程启动查询,否则调用此方法将抛出RealmException 。 或者,您可以使用findAllAsync()

返回:

包含对象的io.realm.RealmResults 。 如果没有对象与条件匹配,则返回包含零个对象的列表。

抛出异常

提示

另请参阅:

查找所有满足查询条件的对象。 此方法只能在 Looper 线程中使用。

返回:

立即得到空RealmResults 。 用户需要注册一个监听器 io.realm.RealmResults.addChangeListener(RealmChangeListener) ,以便在查询完成时收到通知。

提示

另请参阅:

public E findFirst ()

查找第一个满足查询条件的对象。从用户界面线程启动大量查询可能会导致丢帧甚至 ANR。 我们不建议这样做,但默认是允许的。 如果要防止这些行为,您可以使用显式设置 RealmConfiguration.Builder.allowQueriesOnUiThread(boolean) 的 RealmConfiguration 来获取Realmfalse 。 这样,您将被迫从非用户界面线程启动查询,否则调用此方法将抛出RealmException 。 或者,可以使用findFirstAsync()

返回:

找到的对象;如果没有对象与查询条件匹配,则为null

抛出异常

提示

另请参阅:

public E findFirstAsync ()

findFirst()类似,但在工作线程上异步运行。 应将侦听器注册到返回的RealmObject ,以便在查询完成时获取通知。 如果查询的RealmObject发生更改,也会触发已注册的侦听器。 如果RealmObject被删除,则监听器将被调用最后一次,然后停止。 不会重新运行查询。

返回:

立即获得一个带有isLoaded() == false的空RealmObject 。 在加载返回对象之前尝试访问该对象上的任何字段都会抛出IllegalStateException

抛出异常

返回此查询的文本描述。

返回:

查询的文本描述。

public long getQueryPointer ()

返回指向底层 C++ 查询的指针。 此方法仅是公开的,因为架构设计选择很难变通,应将其视为内部方法,并且可以在没有警告的情况下进行更改。

返回:

指向底层 C++ 查询的指针。

public Realm getRealm ()

返回此查询所属的Realm实例。

不鼓励在返回的实例上调用Realm.close() ,因为这与在原始 Realm 实例上调用它相同,这可能导致 Realm 完全关闭,从而使查询无效。

返回:

此查询所属的Realm实例。

抛出异常

返回正在查询的类型的内部 Realm 名称。

返回:

正在查询的 Realm 模型类的内部名称。

String fieldName,
ObjectId value
)

大于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
Decimal128 value
)

大于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
RealmAny value
)

大于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
Date value
)

大于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
float value
)

大于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
double value
)

大于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
long value
)

大于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
int value
)

大于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
ObjectId value
)

大于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
Decimal128 value
)

大于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
Date value
)

大于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
float value
)

大于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
double value
)

大于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
long value
)

大于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
int value
)

大于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
Case casing
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

  • casing - 如何处理大小写。 Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

public RealmQuery in (
String fieldName,
)

相比之下。 这允许您测试对象是否与值数组中的任何值匹配。

参数

  • fieldName - 要比较的字段。

  • values - 要比较的值的数组。 如果提供了null或空数组,则查询永远不会匹配任何结果。

返回:

查询对象。

抛出异常

String fieldName
)

查找被视为“空”的值的条件,即空列表、长度为 0 的字符串或字节数组。

参数

  • fieldName - 要比较的字段。

返回:

查询对象。

抛出异常

String fieldName
)

查找被视为“非空”值的条件,即具有非空值的列表、字符串或字节数组。

参数

  • fieldName - 要比较的字段。

返回:

查询对象。

抛出异常

String fieldName
)

测试字段是否不是null 。 仅适用于可为 null 的字段。

参数

  • fieldName - 字段名称。

返回:

查询对象。

抛出异常

提示

另请参阅:

String fieldName
)

测试字段是否为null 。 仅适用于可为 null 的字段。

对于链接查询,如果链接路径的任何部分是 null,则整个路径被视为 null,例如,如果 linkFieldlinkField.stringFieldnull,则 isNull("linkField.stringField") 将被视为 null

参数

  • fieldName - 字段名称。

返回:

查询对象。

抛出异常

提示

另请参阅:

public boolean isValid ()

检查io.realm.RealmQuery是否仍然有效,即io.realm.Realm实例尚未关闭以及任何父io.realm.RealmResults仍然有效。

返回:

true 如果仍然有效,则返回false

String fieldName,
ObjectId value
)

小于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
Decimal128 value
)

小于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
long value
)

小于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
int value
)

小于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
ObjectId value
)

小于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
Decimal128 value
)

小于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
long value
)

小于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
int value
)

小于或等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

public RealmQuery like (
String fieldName,
RealmAny value,
Case casing
)

条件字段的值与指定子字符串匹配,并带有通配符:

  • '*' 匹配 [0, n] unicode 字符

  • '?'匹配单个 unicode 字符。

参数

  • fieldName - 要比较的字段。

  • value — 通配符字符串。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

public RealmQuery like (
String fieldName,
String value,
Case casing
)

条件字段的值与指定子字符串匹配,并带有通配符:

  • '*' 匹配 [0, n] unicode 字符

  • '?'匹配单个 unicode 字符。

参数

  • fieldName - 要比较的字段。

  • value — 通配符字符串。

  • casing - 如何处理大小写。 将此项设置为Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

public RealmQuery like (
String fieldName,
RealmAny value
)

条件字段的值与指定子字符串匹配,并带有通配符:

  • '*' 匹配 [0, n] unicode 字符

  • '?'匹配单个 unicode 字符。

参数

  • fieldName - 要比较的字段。

  • value — 通配符字符串。

返回:

查询对象。

抛出异常

public RealmQuery like (
String fieldName,
String value
)

条件字段的值与指定子字符串匹配,并带有通配符:

  • '*' 匹配 [0, n] unicode 字符

  • '?'匹配单个 unicode 字符。

参数

  • fieldName - 要比较的字段。

  • value — 通配符字符串。

返回:

查询对象。

抛出异常

public RealmQuery limit (
long limit
)

限制返回的对象数量,以防查询匹配到更多对象。请注意,将此方法与sort( string )distinct( string , string ...)结合使用时,它们将按添加顺序执行,这可能会影响最终结果。

参数

  • limit - 为≥ 1的限制。

抛出异常

public Number max (
String fieldName
)

查找字段的最大值。

参数

  • fieldName - 要查找最大值的字段。 仅支持数字字段。

返回:

如果对象不存在,或者给定字段的值为null ,则返回null 。否则返回最大值。 确定最大值时,具有null值的对象将被忽略。

抛出异常

String fieldName
)

查找RealmAny字段的最大值。

参数

  • fieldName — 包含 RealmAny 值的字段。

返回:

如果对象不存在或给定 RealmAny 字段的值为null ,则返回RealmAny.Type.NULL 。 否则,将返回 RealmAny 的最大值。 确定 RealmAny 的最大值时,具有null值的对象将被忽略。 有关如何比较 RealmAny 值的更多详细信息,请参阅RealmAny文档。

抛出异常

public Date maximumDate (
String fieldName
)

查找字段的最大值。

参数

  • fieldName - 字段名称。

返回:

如果对象不存在,或者给定日期字段的值为null ,则返回null 。否则,返回最大日期。 确定最大日期时,具有null值的对象将被忽略。

抛出异常

public Number min (
String fieldName
)

查找字段的最小值。

参数

  • fieldName - 查找最小值的字段。 仅支持数字字段。

返回:

如果对象不存在,或者给定字段的值为null ,则返回null 。否则返回最小值。 确定最小值时,具有null值的对象将被忽略。

抛出异常

String fieldName
)

查找RealmAny字段的最小值。

参数

  • fieldName — 包含 RealmAny 值的字段。

返回:

如果对象不存在或给定 RealmAny 字段的值为null ,则返回RealmAny.Type.NULL 。 否则,将返回最小 RealmAny。 确定最小 RealmAny 时,具有null值的对象将被忽略。 有关如何比较 RealmAny 值的更多详细信息,请参阅RealmAny文档。

抛出异常

public Date minimumDate (
String fieldName
)

查找字段的最小值。

参数

  • fieldName - 字段名称

返回:

如果对象不存在,或者给定日期字段的值为null ,则返回null 。 否则,返回最小日期。 确定最小日期时,具有null值的对象将被忽略。

抛出异常

public RealmQuery not ()

否定条件。

返回:

查询对象。

String fieldName,
ObjectId value
)

不等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
Decimal128 value
)

不等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

String fieldName,
RealmAny value,
Case casing
)

不等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

  • casing - 如何处理大小写。 Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

String fieldName,
String value,
Case casing
)

不等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

  • casing - 如何处理大小写。 Case.INSENSITIVE仅适用于 Latin-1 字符。

返回:

查询对象。

抛出异常

String fieldName,
String value
)

不等于比较。

参数

  • fieldName - 要比较的字段。

  • value - 要比较的值。

返回:

查询对象。

抛出异常

public RealmQuery or ()

逻辑或两个条件。

返回:

查询对象。

String predicate,
)

使用 Realm Query Language 创建基于文本的谓词。 该谓词可以与其他原始谓词或类型安全谓词结合使用,它接受 Realm 值作为参数。原始谓词中使用的类和属性名称可以是 Realm 模型类中定义的名称,也可以是使用io.realm类定义的内部名称。 .annotations.RealmClass或io.realm.annotations.RealmField注解。 如果类名或属性名包含空格,则必须对这些空格进行转义。

参数在string谓词中定义为 $argument_index,其中 $argument_index 是一个十进制整数,用于指定参数在参数列表中的位置。 第一个参数由 $0 引用,第二个参数由 $1 引用,依此类推。有关 RQL 的更详细说明,请参阅这些Docs

例子:

RealmQuery<Person> query = realm.where(Person.class);
// Simple query
query.rawPredicate("name = 'Jane'");
// Spaces in property name
query.rawPredicate("my\ property = 'Jane'");
// Multiple predicates
query.rawPredicate("name = 'Jane' OR name = 'John'")
// Collection queries
query.rawPredicate("children.@count > 3")
query.rawPredicate("ALL children.age > 18")
// Sub queries
query.rawPredicate("SUBQUERY(children, $child, $child.age > 21 AND $child.gender = 'male').@count > 0");
// Sort, Distinct, Limit
query.rawPredicate("name = 'Jane' SORT(lastName ASC) DISTINCT(city) LIMIT(5)");
// Arguments
query.rawPredicate("name = $0 AND age > $1", "Jane", 18);

参数

  • predicate — Realm Query Language 谓词。

  • arguments — 谓词的 Realm 值。

抛出异常

public RealmQuery sort (
java.lang.String[] fieldNames,
io.realm.Sort[] sortOrders
)

按所提供顺序中的特定字段名称对查询结果进行排序。仅当前面的字段值相等时才会使用后面的字段。排序目前仅限于“基本拉丁语”、“拉丁语补充”、“拉丁扩展 A”、“拉丁扩展 B”字符集(UTF-8 范围 0- 591)。 对于其他字符集,排序不起作用。

参数

  • fieldNames - 作为排序依据的字段名称数组。

  • sortOrders - 如何对字段名称进行排序。

抛出异常

public RealmQuery sort (
String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

按所提供顺序中的特定字段名称对查询结果进行排序。fieldName2仅在fieldName1中的值相等的情况下使用。

排序目前仅限于“基本拉丁语”、“拉丁语补充”、“拉丁扩展 A”、“拉丁扩展 B”(UTF-8 范围 0-591)中的字符集。 对于其他字符集,排序不起作用。

参数

  • fieldName1 - 第一个字段名称

  • sortOrder1 - 第一个字段的排序顺序

  • fieldName2 - 第二个字段名称

  • sortOrder2 - 第二个字段的排序顺序

抛出异常

public RealmQuery sort (
String fieldName,
Sort sortOrder
)

按指定的字段名称和顺序对查询结果进行排序。排序目前仅限于“基本拉丁语”、“拉丁语补充”、“扩展拉丁语 A”、“扩展拉丁语 B”中的字符集(UTF-8 范围 0-591) 。 对于其他字符集,排序不起作用。

参数

  • fieldName - 作为排序依据的字段名称。

  • sortOrder — 如何对结果进行排序。

抛出异常

public RealmQuery sort (
String fieldName
)

按特定字段名称以升序对查询结果进行排序。排序目前仅限于“基本拉丁语”、“拉丁语补充”、“拉丁扩展 A”、“拉丁扩展 B”字符集(UTF-8 范围 0-591 )。 对于其他字符集,排序不起作用。

参数

  • fieldName - 作为排序依据的字段名称。

抛出异常

public Number sum (
String fieldName
)

计算给定字段的总和。

参数

  • fieldName - 要求和的字段。 仅支持数字和 RealmAny 字段。

返回:

匹配对象的字段总和。 如果对象不存在,或者给定字段的值为null ,则返回0 。 计算总和时,具有null值的对象将被忽略。 应用于 RealmAny 字段时,仅对数值 (Byte/Integer/Integer/Long/Float/Double/Decimal128) 求和,返回类型为Decimal128

抛出异常

后退

RealmObjectSchema.Function