下面演示下C#操作MongoDB驅動的簡單的增刪改查代碼
運用到的MongoDB支持的C#驅動,當前版本為1.6.0
下載地址:https://github.com/mongodb/mongo-csharp-driver/downloads
1,連接數據庫
/// <summary> /// 數據庫連接 /// </summary> private const string conn = "mongodb://127.0.0.1:27017"; /// <summary> /// 指定的數據庫 /// </summary> private const string dbName = "mongodb_name"; /// <summary> /// 指定的表 /// </summary> private const string tbName = "table_text"; //創建數據連接 MongoServer server = MongoServer.Create(conn); //獲取指定數據庫 MongoDatabase db = server.GetDatabase(dbName); //獲取表 MongoCollection col = db.GetCollection(tbName);
2、插入數據
因為MongoDB沒有表的概念,所以自插入數據之前定義好自己的數據模型
User.cs
下面是添加數據的代碼
/// <summary> /// 添加 /// </summary> /// <param name="text">內容</param> /// <param name="articleId">文章ID</param> /// <param name="channelId">頻道ID</param> /// <returns></returns> public static void Add(User t) { //創建數據連接 MongoServer server = MongoServer.Create(conn); //獲取指定數據庫 MongoDatabase db = server.GetDatabase(dbName); //獲取表 MongoCollection col = db.GetCollection(tbName); //插入 col.Insert(t); }
3、刪除操作
/// <summary> /// 根據ObjectID 刪除 /// </summary> /// <param name="objId"></param> public static void Delete(string objId) { //創建數據連接 MongoServer server = MongoServer.Create(conn); //獲取指定數據庫 MongoDatabase db = server.GetDatabase(dbName); //獲取表 MongoCollection<User> col = db.GetCollection<User>(tbName); IMongoQuery query = Query.EQ("_id", new ObjectId(objId)); col.Remove(query); }
4、修改
/// <summary> /// 根據ObjectID 修改 /// </summary> public static void Update(User t) { //創建數據連接 MongoServer server = MongoServer.Create(conn); //獲取指定數據庫 MongoDatabase db = server.GetDatabase(dbName); //獲取表 MongoCollection<User> col = db.GetCollection<User>(tbName); BsonDocument bd = BsonExtensionMethods.ToBsonDocument(t); IMongoQuery query = Query.EQ("_id", t.Id); col.Update(query, new UpdateDocument(bd)); }
5、條件查詢(簡單)
/// <summary> /// 根據ObjectID 查詢 /// </summary> public static User TuCao SelectOne(string objId) { //創建數據連接 MongoServer server = MongoServer.Create(conn); //獲取指定數據庫 MongoDatabase db = server.GetDatabase(dbName); //獲取表 MongoCollection<User> col = db.GetCollection<User>(tbName); //條件查詢 return col.FindOne(Query.EQ("_id", new ObjectId(objId))); }
6、查詢全部
/// <summary> /// 查詢所有 /// </summary> public static void SelectAll() { List<User> list = new List<User>(); //創建數據連接 MongoServer server = MongoServer.Create(conn); //獲取指定數據庫 MongoDatabase db = server.GetDatabase(dbName); //獲取表 MongoCollection<User> col = db.GetCollection<User>(tbName); //查詢全部 list.AddRange(col.FindAll()); //-------------------------------- foreach (User t in col.FindAll()) { string id = t.Id.ToString(); string text = t.Text; DateTime dt = t.Createdate; } }
