2016-08-16 7 views
0

は、どのように私はレルムで子オブジェクトの属性によってフィルタリングクエリがネイティブレルムはネイティブリアクト:リスト内の最後のオブジェクトに基づいてフィルタリング

反応しないでくださいここに私の(簡体字)のスキーマです。

Habit.schema = { 
    name: 'Habit', 
    primaryKey: 'id', 
    properties: { 
     id: 'int', 
     name: 'string', 
     intervals: {type:'list', objectType: 'Interval'} 
    } 
} 

Interval.schema = { 
    name: 'Interval', 
    primaryKey: 'id', 
    properties: { 
     id: 'int', 
     intervalStart: 'date', 
     intervalEnd: 'date', 
     allComplete: 'bool', 
    } 
} 

私がやってみました:

let filteredHabits = realm.objects('Habit').filtered('intervals.intervalStart < $0 AND intervals.intervalEnd > $0 AND intervals.allComplete == false', new Date()); 

しかし、これは習慣のすべてとの間隔のすべてを通過しているやっているように見える、と限り間隔のいずれかが前に始めると現在の時刻と別の間隔が現在の時刻より前に終了すると、フィルタが失われます。

私がしたいのは、リスト内の最後の間隔に基づくクエリです。私がそれをすることができない場合、それがすべてではなくただ一つの間隔の属性を比較していることを確認する方法はありますか?

答えて

1

Realm for React Nativeで使用されている述語言語は、後で実行するクエリのタイプを直接サポートしていません。私はあなたにそれを求めるfile a feature requestをお勧めします。一方、JavaScriptでフィルタリングを実行することで、この制限を回避することができます。

+0

これは最終的に私がやったことです:) –

関連する問題