当前代码:
mRealm.where(AdditionalData.class)
.contains("checklistParticipants.email", a@a.com, Case.INSENSITIVE)
.equalTo("checklistParticipants.type", 0)
.findAll();
它返回类似于ANY
记录的结果。
我想检查嵌套查询,仅在满足两个条件时才返回记录。同样在嵌套查询中,记录电子邮件必须是a@a.com并且type=0
我尝试了以下方法,但结果相同。
mRealm.where(AdditionalData.class)
.contains("checklistParticipants.email",a@a.com, Case.INSENSITIVE)
.findAll()
.where()
.equalTo("checklistParticipants.type", 0)
.findAll();
下面的屏幕截图显示了 2 个子项,
- 电子邮件= a@a.com & 类型 = 1
- 电子邮件= x@x.com &类型 = 0
在非此即彼的方法中检查两个值的领域。
也试过:
mRealm.where(AdditionalData.class)
.equalTo("checklistParticipants.email",a@a.com, Case.INSENSITIVE)
.and()
.equalTo("checklistParticipants.type", 0)
.findAll()
classpath "io.realm:realm-gradle-plugin:5.8.0"
更新
class AdditionalData {
String name;
RealmList<ChecklistParticipants> checklistParticipants;
}
class ChecklistParticipants{
String email;
String type;
String field3;
}