如何影响领域.distinct结果

时间:2017-06-03 12:41:49

标签: android realm

我在我的领域数据库中有一个书籍列表,因此我在查询数据库:

Realm realm = Realm.getDefaultInstance();
RealmResults<Book> bookCategories = realm.where(Book.class).distinctAsync("category").sort("category");

这是按预期工作但我遇到了问题。某些类别的某些书籍没有书籍封面。

例如:有一个名为“Thrillers”的类别,该类别有10本书;无论是否有书籍封面,上述查询都会返回该类别中的第一个项目。所以我希望它忽略第一个项目,如果它没有书籍封面并继续跳过,直到找到带有书籍封面的项目。但是,如果它到达最后一个项目并且它仍然没有书籍封面,那么它应该选择它。

请问有没有办法实现这一目标?

注意: 带有封面的图书有blah-blah.png作为封面值,而没有封面,封面的值返回null或空字符串。

1 个答案:

答案 0 :(得分:0)

RealmResults<Book> bookCategories = realm.where(Book.class)
                       .isNotNull("coverUrl")
                       .isNotEmpty("coverUrl")
                       .findAllSorted("category")
                       .distinctAsync("category");
编辑:由于核心https://github.com/realm/realm-core/issues/2332的限制,显然这还不起作用

我将在这个问题上引用这个问题。