Clause IN Realm Java



我一直在阅读 Realm Java 文档,但找不到类似于SQL中的子句"IN",有人可能使用过类似的东西?目前,我正在使用循环来逐个带来结果,但我不想这样做。

我将不胜感激你的帮助!

Realm 支持 in 子句已经有一段时间了,但直到 3.1.3 才正式记录下来。 它适用于字符串,数值字段,日期和二进制数据。

字符串用法示例:

realm.where(Person.class)
     .in("name", new String[]{"Jill", "William", "Trillian"})
     .findAll();

或者您可以选择忽略大小写。

realm.where(Person.class)
     .in("name", new String[]{"Jill"}, Case.INSENSITIVE)
     .findAll();

有关详细信息,请参阅 https://realm.io/docs/java/latest/#filtering。

不幸的是,直到领域版本 1.1.0 才有"IN()"支持,但这里有一些针对"IN()"的解决方法

RealmQuery<YourObject> query = realm.where(YourObject.class);
for (String id : ids) {
  query.or().equalTo("yourField", id);
}
RealmResults<YourObject> results = query.findAll();

最新更新