2016-08-16 1 views
0

Как я могу сделать запрос фильтруется атрибутов в дочернем объекте в Realm React NativeRealm Реагировать Native: фильтрация на основе последнего объекта в списке

Вот моя (упрощенный) схемы.

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()); 

Но что это, кажется, делает это происходит через все из интервалов со всеми привычками, и до тех пор, как один из интервалов начнется до текущее время и другой интервал заканчивается до текущего времени, он пропустит фильтр.

Что я хотел бы сделать, это запрос, основанный на самом LAST-интервале в списке. Если я не могу этого сделать, есть ли способ убедиться, что он сравнивает атрибуты всего одного интервала, а не все из них?

ответ

1

Язык предиката, используемый Realm for React Native, еще не поддерживает тип запроса, который вы используете. Я бы посоветовал вам просить об этом file a feature request. В то же время вы можете обойти это ограничение, выполнив фильтрацию в JavaScript.

+0

Это в конечном итоге то, что я сделал :) –

Смежные вопросы