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


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

  • 相关阅读:
    Tar命令用法详解
    一次Linux系统被攻击的分析过程
    企业系统安全管理和强化的十点建议
    中型企业的IT运维策略
    企业邮件服务器被列入RBL,申请撤销PBL指控
    Xshell远程连接Ubuntu
    LeetCode 7: Reverse Integer
    LeetCode 14: Longest Common Prefix
    LeetCode 203:Remove Linked List Elements
    数据挖掘之处理分类自变量与处理时间变量
  • 原文地址:https://www.cnblogs.com/wjr0117/p/9020092.html
Copyright © 2020-2023  润新知