我遇到了一个关于LookBack接口的问题。
我想得到所有的缺陷,这是在提交状态,以显示在图表中的每一个日期在范围内。我能够根据State来检索缺陷。
但是,当我使用
{
"_TypeHierarchy" : "Defect",
"Project":<ProjectID>,
"Release" :<ReleaseOID>,
"_PreviousValues.State" : { $lt : "Submitted"},
"State" : "Submitted" ,
"_ValidFrom" : {
$gte : "2014-02-24TZ",
$lt: "2014-02-26TZ"
}
}这将返回给我所有的缺陷,这些缺陷已经以任何一种方式进行了修改,可能是所有者,也可能是任何一般的edit.Hence,结果计数相当大。我只想基于State。有没有可能,我是不是做错了什么。
我还尝试只获取版本号0,以获取相同的版本号。但这不是一个好的解决方案,因为我还需要显示关闭的缺陷,并且它们永远不会出现在版本0中。
我不能使用at,因为它只支持等于运算符。请帮帮我,我想我在这里遗漏了一些很简单的东西,但我不能自己弄明白。
发布于 2014-02-28 22:21:01
我认为问题可能出在您的_PreviousValues.State criteria子句中。$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'],添加到查询中,并将结果输出添加到原始问题中。
发布于 2015-11-05 04:49:08
我希望你找到你的问题的答案,因为这个问题已经发布了一年多了。无论哪种方式,我都会回答这个问题。
而不是使用:
"_PreviousValues.State" : { $lt : "Submitted"},尝试以前的值作为数组,并指定精确值。例如:
"_PreviousValues.ScheduleState": ["Closed", "Open", "Fixed"]我希望它能有所帮助!谢谢,凯
https://stackoverflow.com/questions/22061466
复制相似问题