Запросы 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 есть список допустимых операторов, и он не включает "в".

Другие вопросы по тегам