zoukankan      html  css  js  c++  java
  • 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 = "ynland@126.com", 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; usingMongoDB.Bson.Serialization.Attributes; namespace MongoTest1 { public static classMongoUnitily { //数据库连接字符串 static string conn = "mongodb://127.0.0.1:27017"; //数据库名称 static string database = "appdb";//数据库名 static MongoUrl url = newMongoUrl(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 = "ynland@126.com", 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

  • 相关阅读:
    Pascal's Triangle II
    Pascal's Triangle
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Populating Next Right Pointers in Each Node
    path sum II
    Path Sum
    [转载]小波时频图
    [转载]小波时频图
    [转载]Hilbert变换及谱分析
  • 原文地址:https://www.cnblogs.com/zxtceq/p/7698476.html
Copyright © 2011-2022 走看看