大佬教程收集整理的这篇文章主要介绍了C# MongoDB 查询,分组,聚合,排序,条件,分页,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
using MongoDB.Driver; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MySteel.Common.Helper; using MongoDB.Driver.builders; using MongoDB.bson.serialization.Attributes; using MongoDB.bson; namespace Test.MongoDB { class Program { /// <sumMary> /// 数据库连接 /// </sumMary> private const @R_197_10495@ng conn = "mongodb://192.168.200.184:27017"; /// <sumMary> /// 指定的数据库 /// </sumMary> private const @R_197_10495@ng dbname = "mlog"; /// <sumMary> /// 指定的表 /// </sumMary> private const @R_197_10495@ng tbName = "log_table"; //创建数据连接 private static MongoServer server = MongoServer.Create(conn); //获取指定数据库 private static MongoDatabase db = server.GetDatabase(dbName); static void Main(@R_197_10495@ng[] args) { //for (var index = 0; index < 2; index++) //{ // student stu = new student(); // stu.Name = "name" + index; // stu.Age = index; // stu.CreatedatetiR_108_11845@e = datetiR_108_11845@e.Now.ToMillisecond(); // stu.Ques = new List<Ques>(); // stu.Ques.Add(new Ques() { Name = "qname" + index }); // Add(stu); //} Console.WriteLine("获取学生数据列表"); var list = GetstudentList(); foreach (var item in list) { Console.WriteLine(item.Name + " " + item.AgE); } Console.WriteLine("获取学生姓名分组和数量"); Dictionary<@R_197_10495@ng, int> group = GetstudentGroup(); foreach (var item in group) { Console.WriteLine(item.Key + " " + item.value); } Console.Read(); } /// <sumMary> /// 添加 /// </sumMary> /// <param name="text">内容</param> /// <param name="articlEID">文章ID</param> /// <param name="chAnnelId">频道ID</param> /// <returns></returns> public static void Add(student t) { //获取表 MongoCollection col = db.GetCollection(tbName); //插入 col.Insert(t); } public static List<student> GetstudentList() { //创建数据连接 MongoServer server = MongoServer.Create(conn); //获取指定数据库 MongoDatabase db = server.GetDatabase(dbName); //获取表 MongoCollection<student> col = db.GetCollection<student>(tbName); //条件查询 var query = Query.And(Query.LTE("Age", 5)); Mongocursor<student> mongocursor = col.FindAs<student>(query); //总数 Console.WriteLine(mongocursor.Count()); mongocursor = col.FindAs<student>(query); //排序 mongocursor.SetSortOrder(SortBy.Descending("Age")); //分页 mongocursor.SetSkip(2); mongocursor.SetLimit(2); List<student> result = mongocursor.ToList(); return result; } public static Dictionary<@R_197_10495@ng, int> GetstudentGroup() { Dictionary<@R_197_10495@ng, int> result = new Dictionary<@R_197_10495@ng, int>(); result["num"] = 0; //创建数据连接 MongoServer server = MongoServer.Create(conn); //获取指定数据库 MongoDatabase db = server.GetDatabase(dbName); //获取表 MongoCollection<student> col = db.GetCollection<student>(tbName); GroupByBuilder groupbyBuilder = new GroupByBuilder(new String[] { "Name" }); var query = Query.And(Query.LTE("Age", 5)); var result_R = col.Group(query, groupbyBuilder, BsonDocument.Create(result), BsonJavaScript.Create("function(doc,prev){prev.num++;}"), BsonJavaScript.Create("function(doC){ doc.count=doc.num;delete doc.num; }")).ToList(); if (result_R.Count != 0) { result = new Dictionary<@R_197_10495@ng, int>(); for (int i = 1; i < result_R.Count; i++) { result.Add(result_R[i]["Name"].To@R_197_10495@ng(), Convert.ToInt32(result_R[i]["count"])); } } return result; } } [BsonIgnoreExtraElements] public class student { public @R_197_10495@ng Name { get; set; } public int age { get; set; } public List<Ques> Ques { get; set; } public long CreatedatetiR_108_11845@e { get; set; } } [BsonIgnoreExtraElements] public class Ques { public @R_197_10495@ng Name { get; set; } } }
以上是大佬教程为你收集整理的C# MongoDB 查询,分组,聚合,排序,条件,分页全部内容,希望文章能够帮你解决C# MongoDB 查询,分组,聚合,排序,条件,分页所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。