/// <summary> /// 获得访客数 /// </summary> /// <param name="articleId"></param> /// <returns></returns> public static int GetReadCntByArticleId(string articleId) { IMongoQuery x1 = Query.EQ(nameof(ArticleID), articleId); var visitorList = MongoDbRepository.GetCacheRecList <Visitor>(x1); //结果去除各种爬虫的影响 IEnumerable <Visitor> DistinctList = visitorList .GroupBy(visitor => visitor.UserHostAddress) .Select(group => group.First()); return(DistinctList.Count()); }
/// <summary> /// 获得某个账号的观看文章列表 /// </summary> /// <param name="accountId"></param> /// <returns></returns> public static List <Article> GetArticleByAccountId(string accountId) { IMongoQuery x1 = Query.EQ(nameof(UserInfoId), accountId); var visitorList = MongoDbRepository.GetCacheRecList <Visitor>(x1); IEnumerable <Visitor> filteredList = visitorList .GroupBy(visitor => visitor.ArticleID) .Select(group => group.First()); var articleList = new List <Article>(); foreach (var item in filteredList) { articleList.Add(Article.GetArticleBySn(item.ArticleID)); } return(articleList); }