gpt4 book ai didi

android - 是否可以查询包含字符串值列表的多个字段(Realm Java)

转载 作者:行者123 更新时间:2023-12-03 15:57:52 24 4
gpt4 key购买 nike

我正在尝试同时查询多个字段,其中包含 Realm 中的字符串值列表。
可以说我有以下对象:

public class Article extends RealmObject implements Serializable{
@PrimaryKey
@Required
private String aID = UUID.randomUUID().toString();

private String title;
private String description;
private String authors;
private RealmList<Tag> tags;
}

我想查询所有文章的标题、描述或标签包含哪些字符串列表。

我知道 中的谓词“ ”可用于将值列表与字段匹配,如下所示:
realm.where(Article.class)
.in("title", listOfValues,Case.INSENSITIVE)
.or()
.in("description", listOfValues, Case.INSENSITIVE)
.or()
.in("tags.tag",listOfValues, Case.INSENSITIVE)
.findAll();

这只会返回“ 匹配 ”值,但我正在寻找“ 包含 ”值。还有“包含”谓词,但我认为它只能与一个值进行比较。

有没有办法做到这一点?

最佳答案

正如@EpicPandaForce 在他的评论中建议的那样,解决这个问题的解决方法是迭代和使用包含。这是执行此操作的代码:

 RealmResults<Article> newResults;
RealmQuery<Article> where = r.where(Article.class).beginGroup();
for (String keyword : keywords) {
where = where.contains("name", keyword, Case.INSENSITIVE)
.or()
.contains("description", keyword, Case.INSENSITIVE)
.or()
.equalTo("tags.tag", keyword, Case.INSENSITIVE);
}

newResults = where.endGroup().findAll();

关于android - 是否可以查询包含字符串值列表的多个字段(Realm Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46471971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com