程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Mongodb 官網驅動2.2.4.26版本 增,刪 改,查,mongodb2.2.4.26

Mongodb 官網驅動2.2.4.26版本 增,刪 改,查,mongodb2.2.4.26

編輯:C#入門知識

Mongodb 官網驅動2.2.4.26版本 增,刪 改,查,mongodb2.2.4.26


Mongodb是3.2.7版本

 

最近在學習mongodb數據庫在網上找到的都不是2.X版本以下的,因為驅動從2.X以後修改了很多,以前不支持linq現2.X也支持了,

 

Mongodb 啟動服務就不說了現在就來看看基本的操作

上代碼:

首先定義一個模型用來測試操作

public class Persion
{
    //引用using MongoDB.Bson.Serialization.Attributes;
    [BsonId]
    public string _id;
    public string Name;
public int age;
    public string Email;
    public string TableName 
    {
        get{return "persion"; }
    } 
}

將mongob C#driver 添加到引用,引用方式可以通過Nuget添加 或者直接到官網去下載然後添加到項目中,

配置創建mongodbClient 注:【以前的版本是MongoServer】並做好配置

地址可以使用遠程的或者是本地的,現在是使用本地的

 //數據庫連接字符串
        static string conn = "mongodb://127.0.0.1:27017";
        //數據庫名稱
        static string database = "appdb";//數據庫名
        static MongoUrl url = new MongoUrl(conn);
        static MongoClient ci = new MongoClient(url);//創建mongoClient
        static IMongoDatabase db = ci.GetDatabase(database);//獲取數據庫

以下就是數據的具體操作方法

//添加數據
        public static void InsertUser(Persion per = null)
        {
            //鏈接到表,數據庫中存不存在表沒關系,不存在mongodb會自動創建一個Collection
            //("persion")Collection也叫表
            var colls = db.GetCollection<Persion>("persion");
            per = new Persion { _id = Guid.NewGuid().ToString(), Name = "[email protected]", age = 12 };
            colls.InsertOne(per);

        }
        //修改
        public  static void Updat()
        {
            //獲取數據
            var colls = db.GetCollection<Persion>("persion");
            var model =  colls.Find(c => c.Name =="ynland" ).FirstOrDefault();//篩選數據
            //條件。相當於where後面的 Filte.Eq 相當於等號  Filter.Eq("字段",匹配值)
            var filter = MongoDB.Driver.Builders<Persion>.Filter.Eq("Name", model.Name);
            //修改的值,set("字段","修改後值") 注意 字段要和數據庫中字段匹配,不匹配找不到會自動新建一個字段並賦值
            var update = MongoDB.Driver.Builders<Persion>.Update.Set("age", "66");
           // colls.UpdateOne(filter, update);//修改一條數據
          UpdateResult res= colls.UpdateMany(filter, update);//多條修改
          
           
        }
        public static void DeleteInfo()
        {
            var colls = db.GetCollection<Persion>("persion");
            colls.DeleteOne(c => c.age == 100);
        }
        //獲取數據
        public static void GetAllInfo()
        {
            //數據類型要一致才能不序列化
            var  t = db.GetCollection<Persion>("persion").Find(c => c.Name!=string.Empty);
            List<Persion> list = t.ToList();
        }

在修改的時候篩選,和set方便地方

篩選的條件Filter.XXX("字段名",“陪配值”)這樣來篩選

在set的時候可以set().set().set().set().........這樣來賦值

 

全部代碼:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using MongoDB.Driver; using MongoDB.Bson; using MongoDB.Driver.Linq; using MongoDB.Bson.Serialization.Attributes; namespace MongoTest1 { public static class MongoUnitily { //數據庫連接字符串 static string conn = "mongodb://127.0.0.1:27017"; //數據庫名稱 static string database = "appdb";//數據庫名 static MongoUrl url = new MongoUrl(conn); static MongoClient ci = new MongoClient(url);//創建mongoClient static IMongoDatabase db = ci.GetDatabase(database);//獲取數據庫 //添加數據 public static void InsertUser(Persion per = null) { //鏈接到表,數據庫中存不存在表沒關系,不存在mongodb會自動創建一個Collection //("persion")Collection也叫表 var colls = db.GetCollection<Persion>("persion"); per = new Persion { _id = Guid.NewGuid().ToString(), Name = "[email protected]", age = 12 }; colls.InsertOne(per); } //修改 public static void Updat() { //獲取數據 var colls = db.GetCollection<Persion>("persion"); var model = colls.Find(c => c.Name =="ynland" ).FirstOrDefault();//篩選數據 //條件。相當於where後面的 Filte.Eq 相當於等號 Filter.Eq("字段",匹配值) var filter = MongoDB.Driver.Builders<Persion>.Filter.AnyEq("Name", model.Name); //修改的值,set("字段","修改後值") 注意 字段要和數據庫中字段匹配,不匹配找不到會自動新建一個字段並賦值 var update = MongoDB.Driver.Builders<Persion>.Update.Set("age", "66"); // colls.UpdateOne(filter, update);//修改一條數據 UpdateResult res= colls.UpdateMany(filter, update);//多條修改 } public static void DeleteInfo() { var colls = db.GetCollection<Persion>("persion"); colls.DeleteOne(c => c.age == 100); } //獲取數據 public static void GetAllInfo() { //數據類型要一致才能不序列化 var t = db.GetCollection<Persion>("persion").Find(c => c.Name!=string.Empty); List<Persion> list = t.ToList(); } } } public class Persion { //引用using MongoDB.Bson.Serialization.Attributes; [BsonId] public string _id; public string Name; public int age; public string Email; public string TableName { get{return "persion"; } } } View Code

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved