Realm - 过滤大于字符串属性的对象

Realm - filter objects greater than string attribute

我正在尝试从 Realm 数据库中过滤对象。我有 itemIdForDateOrder 属性,它是字符串(看起来像这样:11e6-eef3-09306910-baa7-417b3207abf6),按此属性排序没有问题:

realm.objects(ItemInfo.self).sorted(byKeyPath: "itemIdForDateOrder", ascending: false)

问题是我试图通过这个属性过滤对象,我想得到这个参数更大的对象。

我的部分谓词:

if let item = newerThan {
   formatString += " AND itemIdForDateOrder > '" + item.itemIdForDateOrder + "'"
}

但是当我使用它时出现异常:

Terminating app due to uncaught exception 'Invalid operator type', reason: 'Operator '>' not supported for string type'

但是当我可以使用我的属性进行排序时,比较适用于字符串类型。那么有没有办法我也可以通过这个属性进行过滤呢?或者我必须获取所有对象然后过滤它们(而不是通过领域谓词过滤器)。谢谢

如错误所述,Realm 的查询引擎目前不支持使用不等式过滤字符串属性。我建议 filing an enhancement request against Realm 请求添加此类支持,然后在 Realm 之外执行过滤(即,将对象收集到数组中,然后过滤数组)。