我的展示对象:
class Show extends Realm.Object { }
Show.schema = {
name: 'Show',
primaryKey: 'showId',
properties: {
showId: 'int',
showName:{ type: 'string', default: '' },
episodes:{ type: 'int[]', default: [] },
}
};
如何通过剧集属性搜索Show对象?
我已经在这里搜索并尝试过:
.filtered('episodes == $0',12345)
.filtered('episodes IN $0',12345)
但没有任何作用。
答案 0 :(得分:0)
IN
谓词尚不支持,但有几种解决方法:
属性数组包含值
如果您想知道Realm对象上的数组属性是否包含一个或多个值,则不能在示例中使用int[]
之类的原始值。如果您使用Episode
属性创建id
架构,则可以执行filtered('episodes.id == $0', 12345)
。
数组中的标量属性
这可以通过映射和连接一组谓词来完成,直到支持IN
,这看起来类似于以下的伪代码:
.filterted([1,2,3].map(id => 'property == id').join(' OR '))