此时我从ORMLite数据库迁移到Realm数据库 我能够毫无问题地翻译大多数查询,但在这种情况下,我不知道它应该是什么样子。有什么建议吗?
我用字段获得了Realm对象:
EpisodeId as Integer
serieId as Integer
„watchedDate” as Date
现在我想查询最近10次观看的serieId。 在SQL中它应该喜欢它(语义可能是错误的):
Select *, max(watched_date) as 'maxdate' from watched_entity group by serieId order by 'maxdate' LIMIT 10
答案 0 :(得分:0)
Realm暂时不支持LIMIT,并且有充分理由因为RealmResults 不您的数据副本,这意味着在携带此类引用时没有巨大的内存损失。只需迭代你的RealmResults并手动选择前10个元素。
关于您的模型的另一个注释。请记住,Realm不是关系数据库,它使用链接来指定对象之间的关系。 Realm中更健全的方法就像(伪代码):
class Serie extends RealmObject - String name - etc... class Episode extends RealmObject - Serie serie - boolean watched - Date lastWatched - etc...
这使查询更容易编写。
此外,仍然针对您的具体查询,我们目前仍然缺乏对GROUPBY的支持,因此您必须手动解决该系列,但我们正在考虑将来允许这样做的方法。