public PageData <BsonDocument> GetPageDataByConditionHaveID(MongoDbParameter parameter) { if (parameter.MongoQuery == null) { throw new NotImplementedException("MongoDbParameter的MongoQuery必须使用MongoDb的规定查询条件格式。"); } var cursor = this.mMongoCollection.FindAs <BsonDocument>(parameter.MongoQuery); var resultList = cursor.SetSkip((parameter.PageIndex - 1) * parameter.PageSize) .SetLimit(parameter.PageSize) .ToList(); return(new PageData <BsonDocument>(resultList, (int)cursor.Count())); }
public PageData <BsonDocument> GetPageData(MongoDbParameter parameter) { var recordCount = this.mMongoCollection.Count(); var resultList = this.mMongoCollection.FindAs <BsonDocument>(null) .SetSkip((parameter.PageIndex - 1) * parameter.PageSize) .SetLimit(parameter.PageSize) .Select(document => { document.Remove("_id"); return(document); }).ToList(); var result = new PageData <BsonDocument>(resultList, (int)recordCount); return(result); }
public PageData <object> GetPageDataDemo(MongoDbDemoParameter demoParameter) { var query = Query.And( Query.LTE("CTime", new BsonDateTime(demoParameter.CTime)), Query.Matches("Keyword", new BsonRegularExpression(new Regex(demoParameter.Keyword, RegexOptions.None)))//mongodb的模糊查询 ); var parameter = new MongoDbParameter { PageIndex = demoParameter.PageIndex, PageSize = demoParameter.PageSize, MongoQuery = query }; var pagedata = this.GetPageDataByConditionHaveID(parameter); var _objs = new List <object>(); pagedata.Datas.ToList().ForEach(document => { var item = BsonSerializer.Deserialize <object>(document); _objs.Add(new { //Comment = item.Comment, //CTime = item.CTime.ToLocalTime(), //HandleComment = item.HandleComment, //HandleOpinion = item.HandleOpinion, //HandlePerson = item.HandlePerson, //HandleTime = item.HandleTime.ToLocalTime(), //ID = item._id.ToString(), //LinkMan = item.LinkMan, //LinkTel = item.LinkTel, //ProID = item.ProID, //ProMSpec = item.ProMSpec, //ProName = item.ProName, //SearchKeyword = item.SearchKeyword, //SearchType = item.SearchType, //Status = item.Status }); }); var result = new PageData <object> { DataCount = pagedata.DataCount, Datas = _objs }; return(result); }