最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mongodb在CSharp里實(shí)現(xiàn)Aggregate實(shí)例

 更新時(shí)間:2017年05月17日 08:22:37   作者:張占嶺  
本篇文章主要介紹了Mongodb在CSharp里實(shí)現(xiàn)Aggregate實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

今天主要用了一個(gè)mongodb.driver里的分組,事實(shí)上在網(wǎng)上介紹這方面的文章非常少,以至于我在出現(xiàn)問題后,無法找到一個(gè)正確的解決方案,最后還是通過異常信息找到的解決方法,所以感覺自己更應(yīng)該去寫一篇關(guān)于如何在C#驅(qū)動(dòng)里進(jìn)行聚合Aggregate的文章!

/// <summary>
    /// 返回UI消息樹
    /// </summary>
    /// <returns></returns>
    public static string GetMongoLog(DateTime? fromDate, DateTime? toDate, int page = 1)
    {
      string from = DateTime.Now.Date.ToString("yyyy-MM-dd");
      string to = DateTime.Now.Date.AddDays(1).ToString("yyyy-MM-dd");
      if (fromDate.HasValue)
      {
        from = fromDate.Value.ToString("yyyy-MM-dd");

      }
      if (toDate.HasValue)
      {
        to = toDate.Value.ToString("yyyy-MM-dd");
      }
      var stages = new List<IPipelineStageDefinition>();
      stages.Add(new JsonPipelineStageDefinition<BsonDocument, BsonDocument>("{$match:{AddTime:{$gt:ISODate('" + from + "'),$lt:ISODate('" + to + "')}}}"));
      stages.Add(new JsonPipelineStageDefinition<BsonDocument, BsonDocument>("{$group:{_id: \"$RootId\", count: {$sum: 1}}}"));
      stages.Add(new JsonPipelineStageDefinition<BsonDocument, BsonDocument>("{$skip:" + page * 5 + "}"));
      stages.Add(new JsonPipelineStageDefinition<BsonDocument, BsonDocument>("{$limit:5}"));
      var pipeline = new PipelineStagePipelineDefinition<BsonDocument, BsonDocument>(stages);
      var result = NoSql.MongodbManager<LoggerContext>.Collection.Aggregate(pipeline);
      StringBuilder str = new StringBuilder();

      str.Append("<ol class='treeMsg'>");
      foreach (var item in result.ToList())
      {
        var timer = new List<DateTime>();
        var old = NoSql.MongodbManager<LoggerContext>.Instance.Find(i => i.RootId == item.Values.ToArray()[0].ToString() && i.ParentId == null).FirstOrDefault();
        timer.Add(old.AddTime);
        str.Append("<li style='margin:5px;border:1px dashed #aaa'>");
        str.AppendFormat("<span style='color:red;'>{0}</span><span style='color:green'>{1}</span><span>{2}</span>"
          , old.Url
          , old.MessageBody
          , old.AddTime);
        MsgTree(str, old.ChildId, timer);
        str.AppendFormat("<p><b><em>本次請(qǐng)求用時(shí){0}毫秒({1}秒)<em></b></p>"
          , (timer.Max() - timer.Min()).TotalMilliseconds
          , (timer.Max() - timer.Min()).TotalSeconds);
        str.Append("</li>");
      }
      str.Append("</ol>");
      return str.ToString();
    }


注意,目前mongodb for C#這個(gè)驅(qū)動(dòng),在進(jìn)行Aggregate時(shí),只支持BsonDocument類型,也就是說,你的集合collection也必須返回的是BsonDocument,而實(shí)體類型是不可以被認(rèn)出的,這點(diǎn)要注意.

也正是如此,所以我們的mongo封裝時(shí),別忘記公開一個(gè)BsonDocument的對(duì)象供聚合使用!

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# 獲取打印機(jī)當(dāng)前狀態(tài)的方法

    C# 獲取打印機(jī)當(dāng)前狀態(tài)的方法

    C# 獲取打印機(jī)當(dāng)前狀態(tài)的方法,需要的朋友可以參考一下
    2013-04-04
  • C#實(shí)現(xiàn)電腦麥克風(fēng)錄音

    C#實(shí)現(xiàn)電腦麥克風(fēng)錄音

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)電腦麥克風(fēng)錄音,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#實(shí)現(xiàn)簡單的Http請(qǐng)求實(shí)例

    C#實(shí)現(xiàn)簡單的Http請(qǐng)求實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)簡單的Http請(qǐng)求的方法,以實(shí)例形式較為詳細(xì)的分析了C#實(shí)現(xiàn)Http請(qǐng)求的具體方法,需要的朋友可以參考下
    2015-01-01
  • C#類中static變量用法分析

    C#類中static變量用法分析

    這篇文章主要介紹了C#類中static變量用法,實(shí)例分析了static變量使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2015-01-01
  • WPF中窗體最大化問題的解決方法

    WPF中窗體最大化問題的解決方法

    這篇文章主要給大家介紹了關(guān)于WPF中窗體最大化問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用wpf具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • C#中的composite模式示例詳解

    C#中的composite模式示例詳解

    Composite組合模式屬于設(shè)計(jì)模式中比較熱門的一個(gè),相信大家對(duì)它一定不像對(duì)訪問者模式那么陌生,這篇文章主要介紹了C#中的composite模式,需要的朋友可以參考下
    2022-06-06
  • C#格式化json字符串的方法分析

    C#格式化json字符串的方法分析

    這篇文章主要介紹了C#格式化json字符串的方法,結(jié)合實(shí)例形式分析了C#針對(duì)json字符串格式化的原理、步驟與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06
  • C#中JSON轉(zhuǎn)為實(shí)體類和List以及結(jié)合使用

    C#中JSON轉(zhuǎn)為實(shí)體類和List以及結(jié)合使用

    開發(fā)中經(jīng)常遇到將JSON字符串轉(zhuǎn)換為List的需求,下面這篇文章主要給大家介紹了關(guān)于C#中JSON轉(zhuǎn)為實(shí)體類和List以及結(jié)合使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • WinForm中的幾個(gè)實(shí)用技巧匯總

    WinForm中的幾個(gè)實(shí)用技巧匯總

    這篇文章主要介紹了WinForm中的幾個(gè)實(shí)用技巧,是進(jìn)行C#程序設(shè)計(jì)中經(jīng)常用到的技巧,需要的朋友可以參考下
    2014-08-08
  • C#使用GZipStream實(shí)現(xiàn)文件的壓縮與解壓

    C#使用GZipStream實(shí)現(xiàn)文件的壓縮與解壓

    這篇文章主要為大家詳細(xì)介紹了C#使用GZipStream實(shí)現(xiàn)文件的壓縮與解壓,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10

最新評(píng)論

福海县| 乌鲁木齐市| 三原县| 上饶市| 芜湖县| 岗巴县| 定结县| 浏阳市| 常州市| 德州市| 江津市| 棋牌| 依安县| 特克斯县| 阿尔山市| 通城县| 阜新| 新蔡县| 谷城县| 高淳县| 德令哈市| 平度市| 沙田区| 马鞍山市| 义乌市| 海丰县| 郸城县| 莒南县| 安阳县| 桐乡市| 山阳县| 登封市| 都匀市| 宝清县| 视频| 永登县| 大余县| 南平市| 永胜县| 贵德县| 西畴县|