我正在尝试获取我的收藏的最小数据,以下查询适用于我。现在我正在尝试为这个最小值添加时间戳我该怎么做?
public class Metric
{
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
public string TagName{ get; set; }
public DateTime TimeStamp { get; set; }
public decimal? Val { get; set; }
}
var x2 = aggregate.Group(
x => x.TagName,
g => new
{
MinVal = g.Select(
x => x.Val
).Min()
}
)).ToList();
答案 0 :(得分:0)
而不是聚合,你必须按Val排序,然后选择第一项。
var item = aggregate.Sort(x => x.Val).First();
然后你可以得到item.Timestamp。如果可能存在重叠,并且您需要最小时间戳,则必须按Val和Timestamp排序。