Запросы Rally Waspi - фильтр с использованием оператора "in"
Я пытался получить все пользовательские истории, связанные с данным накопительным пакетом, сначала запросив функции, у которых этот накопительный отчет является их родителем, а затем обнаружив все истории, у которых эта функция является родительским для PortfolioItem.
Тем не менее, это требует некоторого беспорядочного зацикливания, чтобы обойти все функции, чтобы получить своих детей. Я использовал несколько хранилищ данных WSAPI для своих запросов, и я хочу использовать некоторый синтаксис из запросов lbapi - в частности, можете ли вы использовать значение in в качестве оператора? Я попытался сделать это с предоставленным массивом идентификаторов, но это не сработало. Я был бы намного элегантнее (и проще) сделать что-то вроде
filters : [{
property : 'Parent.ObjectID',
operator : 'in',
value : ids
}]
скорее, чем
Ext.Array.each(ids, function(id) {
...
filters : [{
property : 'Parent.ObjectID',
operator : '=',
value : id
}]
Или это уникально для LBAPI? Я поступаю об этом совершенно неправильно? Спасибо
1 ответ
Можно использовать оператор "in" с SnapshotStore, который извлекает данные из Lookback API, как в примере ниже, где 1111 и 2222 - это OID объектов PortfolioItems типа Theme:
Ext.create('Rally.data.lookback.SnapshotStore', {
context: {
workspace: this.context.getWorkspace(),
},
find: '{'+' "_ItemHierarchy":{$in:[1111,2222]},'+
'"_TypeHierarchy":"HierarchicalRequirement"'+'}',
//...........
Оператор 'in' указан для LBAPI. В опциях конфигурации Rally.data.QueryFilter есть список допустимых операторов, и он не включает "в".