2014-02-27 80 views
0

我面臨着LookBack API的一個問題。回溯API:缺陷

我想獲取所有的缺陷,這些缺陷處於已提交狀態,以根據日期範圍內的圖表顯示。 我能夠根據狀態檢索缺陷。

然而,當我使用

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

這將返回到我所有的缺陷,已在任一方式被修改,這可能是所有人或任何一般edit.Hence結果數是相當大的。我只想基於國家。這是可能的,我在嘗試錯誤嗎?

我也嘗試只提取相同的版本號0。但這不是一個好的解決方案,因爲我也需要顯示關閉的缺陷,並且它們將永遠不會在版本0中。

我不能使用at,因爲它只支持equals運算符。請幫助我,我想我在這裏錯過了一些很簡單的事情,但無法自行解決。

回答

1

我認爲這個問題可能在您的_PreviousValues.State標準條款中。 $lt:"Submitted"也會拉空值或PreviousValues甚至可能沒有State的快照。我想,讓你更接近你需要什麼,你必須添加以下條款:

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

這會過濾掉我相信這是給你的問題零點。如果問題仍然存在,請考慮將 fields:{"State":1,"Name":1, "_ValidFrom":1,"_ValidTo":1,"_TypeHierarchy":1,"FormattedID":1,"_PreviousValues":1,"_PreviousValues.State":1}, hydrate : ['State','_PreviousValues.State'],添加到您的查詢中,並將結果輸出添加到原始問題中。

1

我希望你找到了你的問題的答案,因爲這個問題發佈一年多了。無論哪種方式,我都會回答這個問題。

代替使用:

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

嘗試先前值作爲數組和指定的精確值。例如:

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

我希望它有幫助! 謝謝 Kay