Rally waspi查询 - 使用'in'运算符进行过滤

时间:2013-08-09 20:16:28

标签: javascript rally appsdk2 lookbackapi

我试图通过首先查询具有该汇总作为其父级的功能来获取与给定汇总关联的所有用户故事,然后查找具有该功能的所有故事作为其PortfolioItem父级。

但是,这需要一些杂乱的循环才能循环遍历所有功能以获得他们的孩子。我一直在为我的查询使用多个WSAPI数据存储,我想使用lbapi查询中的一些语法 - 特别是,你可以使用'in'值作为运算符吗?我尝试使用提供的一组ID进行此操作,但它似乎不起作用。我会更优雅(也更容易)做像

这样的事情
filters : [{
    property : 'Parent.ObjectID',
    operator : 'in',
    value    : ids
}]

而不是

Ext.Array.each(ids, function(id) {
    ...
    filters : [{
        property : 'Parent.ObjectID',
        operator : '=',
        value    : id
    }]

或者这对LBAPI来说是独一无二的吗?我是以完全错误的方式解决这个问题吗?感谢

1 个答案:

答案 0 :(得分:3)

可以使用带有SnapshotStore的'in'运算符,它从Lookback API中检索数据,如下例所示,其中1111和2222是Theme类型的PortfolioItem的OID:

Ext.create('Rally.data.lookback.SnapshotStore', {
                        context: {
                            workspace: this.context.getWorkspace(),

                        },
                         find: '{'+' "_ItemHierarchy":{$in:[1111,2222]},'+
                                    '"_TypeHierarchy":"HierarchicalRequirement"'+'}',
                        //...........

'in'运算符是LBAPI的特定。 在Rally.data.QueryFilter的配置选项中,有一个有效运算符列表,它不包含'in'。