Rally Lookback API: понимание количества результатов, когда моментальный снимок охватывает конечную точку даты

Я запускаю довольно простой запрос, в котором я ищу количество снимков в задачах между определенными временными рамками. Предполагая даты d1, d2 и d3, где d1 ‹ d2 ‹ d3, я ожидаю, что количество снимков между d1 включительно и d2 без учета плюс количество снимков между d2 включительно и d3 без учета должно быть равно количеству снимков между d1 включительно и d3 эксклюзив. Однако я постоянно получаю разные подсчеты... подсчет между d1 и d3 больше, чем сумма отдельных запросов.

---- СЛУЧАЙ 1: 13.01 – 15.01 Ввод

{
find:{
      "_TypeHierarchy":"Task",
      "_ValidFrom":{"$gte" : "2013-01-13T00:00:00.000Z"},
      "_ValidTo":  {"$lt"  : "2013-01-15T00:00:00.000Z"}},
fields:["_id","ObjectID","_SnapshotNumber","_ValidFrom","_ValidTo"],
pagesize:1
}

Выход

"TotalResultCount": 559,

---- СЛУЧАЙ 2: 13.01 – 14.01 Ввод

{
find:{
      "_TypeHierarchy":"Task",
      "_ValidFrom":{"$gte" : "2013-01-13T00:00:00.000Z"},
      "_ValidTo":  {"$lt"  : "2013-01-14T00:00:00.000Z"}},
fields:["_id","ObjectID","_SnapshotNumber","_ValidFrom","_ValidTo"],
pagesize:1
}

Выход

"TotalResultCount": 52,

---- СЛУЧАЙ 3: 14.01 – 15.01 Ввод

{
find:{
      "_TypeHierarchy":"Task",
      "_ValidFrom":{"$gte" : "2013-01-14T00:00:00.000Z"},
      "_ValidTo":  {"$lt"  : "2013-01-15T00:00:00.000Z"}},
fields:["_id","ObjectID","_SnapshotNumber","_ValidFrom","_ValidTo"],
pagesize:1
}

Выход

"TotalResultCount": 498,

person Heather K    schedule 06.02.2013    source источник
comment
При изучении полученных данных вывод теперь имеет смысл. Любые моментальные снимки, охватывающие d2, не будут возвращены во втором и третьем запросах. Чтобы получить желаемые результаты, мне нужно было просто использовать только _ValidFrom в моем предложении Find.   -  person Heather K    schedule 06.02.2013


Ответы (1)


В изучении объектов результата я теперь вижу свою ошибку. Если вы хотите найти количество снимков в заданный период времени, вы должны указать время начала и окончания, а также неравенства в предложении _ValidFrom:

"_ValidFrom":{"$gte" : "2012-01-13T00:00:00.000Z", "$lt"  : "2012-01-14T00:00:00.000Z"}},

В исходном вопросе запрос в случаях 2 и 3 не будет включать моментальный снимок, где ValidFrom был после d1, а ValidTo был после d2, но до d3. Однако первый случай был бы. Следовательно, общее количество для случая 1 выше, чем для случаев 2 и 3 вместе взятых.

person Heather K    schedule 07.02.2013