首页 > 数据库技术 > 详细

C#操作mongodb(聚合函数)-分组找出每组的最大值

时间:2018-05-10 16:37:24      阅读:422      评论:0      收藏:0      [点我收藏+]

 public static void OnQuery_QXData(string DBName, string tablename,string layername)
        {
            if (ConnectionString == null) OnCreateDB();
            MoDataBase = MoClient.GetDatabase(DBName);
            var collection = MoDataBase.GetCollection<BsonDocument>(tablename);           

            //{$group:{_id:{stationID:"$stationID",stationName:"$stationName"},TimeData:{$max:"$TimeData"},eValue:{$last:"$eValue"}}}           

            var group = new BsonDocument {

                {"_id",new BsonDocument
                {
                    {"stationID","$stationID"},
                    {"stationName","$stationName" }
                }
        },
                //{"stationID",new BsonDocument{ { "stationID", "$stationID" } } },
                {"stationID",new BsonDocument("$last","$stationID")},
                { "TimeData",new BsonDocument("$max","$TimeData")},
                {"eValue" ,new BsonDocument("$last","$eValue")}
            };
            var list = collection.Aggregate().Group(group).ToListAsync().Result;
            double value = 0.0;
            foreach (BsonDocument bsondoc in list)
            {
               
                double  evalue = double.TryParse(bsondoc.GetElement("eValue").Value.ToString(),out value)?value:0;
                string stationid = bsondoc.GetElement("stationID").Value.ToString();              
            }
        }
    }
}

C#操作mongodb(聚合函数)-分组找出每组的最大值

原文:https://www.cnblogs.com/wjr0117/p/9020092.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!