C#對MongDB取資料的常用代碼

來源:互聯網
上載者:User

標籤:syn   color   sort   nec   gre   監測   stat   ati   tor   

1、使用彙總取最新的即時資料(每一個測站有多條資料,取日期最新的資料。也就是每個測站取最新的值)

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 collection = MoDataBase.GetCollection<BsonDocument>(tablename);
 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();

2、普通的按照排序取最新的資料

如果一個測站一個表名

/// <summary>        /// 擷取資料庫中每條資料對應的時間放到圖表的橫座標上        /// </summary>        /// <param name="StatioID">監測站ID</param>        /// <param name="PullutionID">指標類型</param>        /// <returns></returns>        public static List<string> GetChartData(string StatioID, string PullutionID,string StartTime,string EndTime)        {            List<string> XData = new List<string>();            if (ConnectionString == null) OnCreateDB();            MoDataBase = MoClient.GetDatabase("SSMonitor");            BsonDocument bsonDoc = new BsonDocument();            bsonDoc.Add("TimeData", new BsonDocument() { { "$gte", DateTimeToInt(StartTime) }, { "$lte", DateTimeToInt(EndTime) } });            var collection = MoDataBase.GetCollection<BsonDocument>(string.Format("{0}_{1}_Day", StatioID, PullutionID));            var sort = Builders<BsonDocument>.Sort.Ascending("TimeData");            var list = collection.Find(bsonDoc).Sort(sort).ToList();            foreach (BsonDocument bsondoc in list)            {                string time = bsondoc.GetElement("MonitorTime").Value.ToString();                XData.Add(time);            }            return XData;        }

 

C#對MongDB取資料的常用代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.