0

我遇到了 LookBack API 的问题。

我想获取所有处于提交状态的缺陷,以根据范围内的日期显示在图表中。我能够根据状态检索缺陷。

但是,当我使用

{
        "_TypeHierarchy" : "Defect",
        "Project":<ProjectID>,
         "Release" :<ReleaseOID>,
        "_PreviousValues.State" : { $lt : "Submitted"},
        "State" : "Submitted" ,
        "_ValidFrom" : {
            $gte : "2014-02-24TZ",
            $lt: "2014-02-26TZ"
        }
    }

这将返回给我的所有缺陷,这些缺陷已经以任何一种方式进行了修改,可能是所有者或任何一般编辑。因此结果计数非常大。我只想基于状态。这可能吗,我是不是在尝试做错什么。

我还尝试仅获取版本号 0。但这不是一个好的解决方案,因为我还需要显示已关闭的缺陷,它们永远不会出现在修订版 0 中。

我不能使用 at,因为它只支持等于运算符。请帮助我,我想我在这里遗漏了一些非常简单的东西,但我自己无法弄清楚。

4

2 回答 2

1

I think the problem may be in your _PreviousValues.State criteria clause. $lt:"Submitted" will also pull null values, or snapshots that may not even have State in PreviousValues. I think to get you closer to what you need you must add the following clause:

$and : [{"_PreviousValues.State":{$ne:null}}, {"_PreviousValues.State":{$lt:"Submitted"}}]

This will filter out the nulls which I believe is giving you the problem. If the problem persists, consider adding fields:{"State":1,"Name":1, "_ValidFrom":1,"_ValidTo":1,"_TypeHierarchy":1,"FormattedID":1,"_PreviousValues":1,"_PreviousValues.State":1}, hydrate : ['State','_PreviousValues.State'], to your query and adding the resulting output to your original question.

于 2014-02-28T14:21:00.677 回答
1

我希望您能找到问题的答案,因为这个问题发布已经一年多了。无论哪种方式,我都会回答这个问题。

而不是使用:

"_PreviousValues.State" : { $lt : "Submitted"},

尝试以前的值作为数组并指定确切的值。例如:

"_PreviousValues.ScheduleState": ["Closed", "Open", "Fixed"]

我希望它有帮助!谢谢凯

于 2015-11-04T20:49:08.210 回答