我有一个文档结构JobData,用于存储Ticks中从时间0到时间t的基于时间的数据。通常数据是每秒一个文档。
public class JobData
{
long Ticks {get;set;}
double JobValue {get;set;}
}
为简单起见,我只显示一个参数JobValue,但实际上它是一个复杂的数据图。我的问题是,如果在Ticks中给定一个给定的输入时间,哪种查询最适合根据给定的刻度查找最后一个JobData?
因此,如果数据库有1000个刻度的文档,然后是2000个刻度的下一个文档,并且用户想要在1500个刻度处找到状态,那么他/她应该以1000个刻度获得JobData作为答案。
我现在使用的查询是:
var jobData = documentSession.Query<JobData>().Where(t => t.Ticks <= 1500).OrderByDescinding(t => t.Ticks).FirstOrDefault();
这是正确且最有效的查询吗?我有数千个这样的JobData节点,并希望得到最接近的节点。
谢谢!
答案 0 :(得分:2)
艾哈迈德 是的,这是解决问题的方法。它会非常快。