本實例主要簡單的查詢,新增,修改和刪除操作,完整代碼如下:
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 } }