我们的缺陷称为“需要更多信息”。我想随着时间的推移创建一个图表,说明在任何特定时间段内该状态有多少缺陷。
我想我可以使用Lookback API通过以下查询获取信息:
my $find = {
State => 'Need More Information',
'_PreviousValues.State' => {'$ne' => 'Need More Information'},
_TypeHierarchy => -51006, # defect
_ValidFrom => {
'$gte' => '2012-09-01TZ',
'$lt' => '2012-10-23TZ',
}
我认为这会让我返回所有缺陷快照的列表,其中缺陷正在转换为“需要更多信息”状态,但它没有(似乎列出了“需要更多信息”状态中的所有内容。< / p>
从技术上讲,我需要的是一个查询,其中列出了转移到“需要更多信息”状态的任何缺陷的快照,但由于这个更简单的一个似乎没有像我预期的那样工作,我想我会先问为什么上面的查询没有按我预期的方式工作。
返回的标题中的“生成的查询”是:
'fields' => 1,
'skip' => 0,
'limit' => 100,
'find' => {
'_TypeHierarchy' => -51006,
'_ValidFrom' => {
'$gte' => '2012-09-01T00:00:00.000Z',
'$lt' => '2012-10-23T00:00:00.000Z'
},
'_PreviousValues.State' => {
'$in' => [
undef,
5792599066,
5792599067,
5792599065,
5792599070,
5792599071,
5792599068,
5792599073,
5792599072,
5792599075,
5792599077,
5792599076,
5792599078,
3631859989,
3631859988,
3631859987,
3631859986
]
},
'State' => {
'$in' => [
4384150044
]
}
}
};
答案 0 :(得分:3)
我尝试利用$nin
条款并取得了成功。您可以尝试将查询调整为类似以下内容:
find: {
_Type: 'Defect',
State: 'Need More Information',
'_PreviousValues.State': {
$in: [
'Submitted', 'Open', 'Fixed', 'Closed'
]
},
etc...
}