【问题标题】:C# Mongo Aggegation for Minimum valueC# Mongo 聚合最小值
【发布时间】:2018-02-15 16:33:06
【问题描述】:

我正在尝试为我的收藏获取最少的数据,以下查询对我有用。现在我正在尝试为这个最小值添加时间戳我该怎么做?

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();

【问题讨论】:

    标签: c# mongodb aggregation-framework


    【解决方案1】:

    您必须按 Val 排序,而不是汇总,然后选择第一项。

    var item = aggregate.Sort(x => x.Val).First();
    

    然后你可以得到item.Timestamp。如果可能存在重叠,并且您需要最小时间戳,则必须按 Val 和 Timestamp 排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2017-04-14
      • 1970-01-01
      • 2022-01-27
      相关资源
      最近更新 更多