Android 如何影响领域。不同的结果
我的领域数据库中有一个图书列表,我正在查询数据库,因此:Android 如何影响领域。不同的结果,android,realm,Android,Realm,我的领域数据库中有一个图书列表,我正在查询数据库,因此: Realm realm = Realm.getDefaultInstance(); RealmResults<Book> bookCategories = realm.where(Book.class).distinctAsync("category").sort("category"); Realm-Realm=Realm.getDefaultInstance(); RealmResults bookCategories=
Realm realm = Realm.getDefaultInstance();
RealmResults<Book> bookCategories = realm.where(Book.class).distinctAsync("category").sort("category");
Realm-Realm=Realm.getDefaultInstance();
RealmResults bookCategories=realm.where(Book.class).distinctAsync(“类别”).sort(“类别”);
这是预期的工作,但我有一个问题。某些类别中的某些书籍没有书皮
例如:有一个名为“颤栗”的类别,该类别有10本书;上面的查询返回类别中的第一个项目,不管它是否有书皮。因此,我希望它忽略第一个项目,如果它没有书皮,继续跳过,直到找到一个有书皮的项目。但是,如果它到了最后一个项目,它仍然没有一本书的封面,那么它应该选择它
请问我有什么办法让这件事发生吗
注:
有封面的书籍的封面值为blah blah.png
,而没有封面的书籍的封面值返回null
或空字符串 RealmResults bookCategories=realm.where(Book.class)
RealmResults<Book> bookCategories = realm.where(Book.class)
.isNotNull("coverUrl")
.isNotEmpty("coverUrl")
.findAllSorted("category")
.distinctAsync("category");
.isNotNull(“coverUrl”)
.isNotEmpty(“封面URL”)
.findAllSorted(“类别”)
.distinctAsync(“类别”);
编辑:显然,由于内核的限制,这还不起作用
关于那个问题,我将参考这个问题
find*
call在哪里?@EpicPandaForce请告诉我,我没听清楚。谢谢。但它不起作用。出于未知原因,它返回了相同的结果。真的吗?:哦,它没有排序,或者没有过滤或者什么,我想它会工作的……它被排序了,但没有过滤。嘎。这是core中的一个限制,因此,根据db中的项目数量,有一些技巧可以将此执行置于后台线程上,但它会急切地评估您正在查找的集合。好消息是,该问题是在6个月前发布的,但修复是在2周前进行的,现在正在审查中,因此,如果它被合并并发布,并且RealmJava更新到该核心版本,那么它将可用。