C# 操作mongodb 简单实例
2017-07-12 16:21
701 查看
本实例主要简单的查询,新增,修改和删除操作,完整代码如下:
using System; using System.Collections.Generic; using System.Text; using System.Linq; using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Bson.Serialization.Attributes; using System.Linq.Expressions; using MongoDB.Driver.Builders; using MongoDB.Driver.Linq; using System.Configuration; namespace mongoDbOper { public class DBHelper { /// <summary> /// mongodb数据库连接字符串 /// </summary> private static string dbConnectStr = "mongodb://127.0.0.1:27017"; /// <summary> /// 指定的数据库 /// </summary> private static string dbName = "OTT_DB"; /// <summary> /// 展会信息表 /// </summary> private static string tbNameM = "Meeting"; /// <summary> /// 行业资讯表 /// </summary> private static string tbNameC = "Information"; /// <summary> /// 订阅用户表 /// </summary> private static string tbNameUser = "User"; /// <summary> /// 已发送展会信息表 /// </summary> private static string tbNameMCK = "MeetingCK"; /// <summary> /// 已发送行业资讯表 /// </summary> private static string tbNameICK = "InfoCK"; private static MongoDatabase db = null; /// <summary> /// 用户审核通过 /// </summary> private static string userPass = "通过"; /// <summary> /// 用户未审核通过,待审核 /// </summary> private static string userNoPass = "审核"; /// <summary> /// 初始化mongodb数据库 /// </summary> public static void InitDB() { var connStr = string.IsNullOrEmpty(ConfigurationManager.AppSettings["mongodbServer"]) ? dbConnectStr : ConfigurationManager.AppSettings["mongodbServer"].ToString(); userPass = string.IsNullOrEmpty(ConfigurationManager.AppSettings["pass"]) ? userPass : ConfigurationManager.AppSettings["pass"].ToString(); userNoPass = string.IsNullOrEmpty(ConfigurationManager.AppSettings["pass"]) ? userNoPass : ConfigurationManager.AppSettings["nonpass"].ToString(); //创建数据连接 //var server = MongoServer.Create(connStr); var server = new MongoClient(connStr).GetServer(); //获取指定数据库 db = server.GetDatabase(dbName); } #region 获取最近三个月的会议活动 /// <summary> /// 获取最近三个月的会议活动 /// </summary> public static void GetMeeting() { if (db == null) { InitDB(); } string startdate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); string enddate = DateTime.Now.AddDays(90).ToString("yyyy-MM-dd"); MongoCollection<Meeting> col = db.GetCollection<Meeting>("Meeting"); var result = col.FindAll().Where(a => Convert.ToDateTime(a.startdate) > Convert.ToDateTime(startdate) && Convert.ToDateTime(a.enddate) <= Convert.ToDateTime(enddate)); var lst = new List<Meeting>(); foreach (Meeting info in result) { info.ID = info.Id.ToString(); lst.Add(info); } var json = lst.ToJson(); Console.WriteLine(json); Console.Read(); } #endregion #region 保存新订阅用户信息 /// <summary> /// 保存新订阅用户信息 /// </summary> /// <param name="user">要保存的用户信息实体</param> /// <param name="tbName">表名,默认:User</param> /// <returns>返回bool ,true保存成功;false保存失败</returns> public static bool InsertUser(User user = null, String tbName = "User") { if (db == null) { InitDB(); } User user1 = new User(); user1.name = "test"; user1.email = "test@ctrchina.cn"; user1.tel = "13388989998"; user1.company = "CTR"; user1.position = "总监"; user1.isPass = "通过"; MongoCollection<User> col = db.GetCollection<User>(tbName); WriteConcernResult result = col.Insert(user1); Console.WriteLine(result.Ok); Console.Read(); return result.Ok; } #endregion #region 修改订阅用户信息 /// <summary> /// 修改订阅用户信息 /// </summary> /// <param name="user">订阅用户信息实体</param> /// <param name="tbName">表名,默认是User</param> /// <returns>返回bool ,true:修改成功;false:修改失败</returns> public static bool UpdateUser(User user = null, String tbName = "User") { if (db == null) { InitDB(); } if (user == null) { user = new User(); user.Id = new ObjectId("5965dfd22ed9257eccc36494"); user.position = "总经理111总监"; user.tel = "166677777777"; } MongoCollection<User> col = db.GetCollection<User>(tbName); BsonDocument userSave = BsonExtensionMethods.ToBsonDocument(user); IMongoQuery query = Query.EQ("_id", user.Id); WriteConcernResult result = col.Update(query, new UpdateDocument(userSave)); Console.WriteLine(result.Ok); Console.Read(); return result.Ok; } #endregion #region 删除订阅用户信息 /// <summary> /// 删除订阅用户信息 /// </summary> /// <param name="id">信息ID(唯一)</param> /// <param name="tbName">表名,默认是User</param> /// <returns>返回bool ,true:删除成功;fals:e删除失败</returns> public static bool DeleteUser(String id = "5965dfd22ed9257eccc36494", String tbName = "User") { if (db == null) { InitDB(); } MongoCollection<Information> col = db.GetCollection<Information>(tbName); IMongoQuery query = Query.EQ("_id", new ObjectId(id)); WriteConcernResult result = col.Remove(query); Console.WriteLine(result.Ok); Console.Read(); return result.Ok; } #endregion } }
相关文章推荐
- C# 对MongoDB 进行增删改查的简单操作实例
- C#操作MongoDB的简单实例
- C# 对MongoDB 进行增删改查的简单操作
- MongoDB入门教程之C#驱动操作实例
- C#中使用1.7版本驱动操作MongoDB简单例子
- jquery+ajax+C#实现无刷新操作数据库数据的简单实例
- C# 关于XML的简单操作实例
- C#简单操作MongoDB的步骤全纪录
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- MongoDB入门教程之C#驱动操作实例
- MongoDB入门教程之C#驱动操作实例
- Python 操作mongodb 简单实例
- C#中简单的装箱操作实例分析
- 一个简单的ADO.NET C# 数据库操作实例
- c#文件操作的简单实例
- C#实现装箱与拆箱操作简单实例
- C#中简单的拆箱操作用法实例分析
- java简单操作mongodb实例
- C# 对MongoDB 进行增删改查的简单操作