C#实现对mongoDB的简单增删查改

系统 2398 0

首先添加所需要驱动包(可通过nuget获得)

using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;

一、设置配置信息

      
        //
      
      
        连接信息
      
      
        static
      
      
        string
      
       conn = 
      
        "
      
      
        mongodb://localhost
      
      
        "
      
      
        ;

        
      
      
        static
      
      
        string
      
       database = 
      
        "
      
      
        test
      
      
        "
      
      
        ;

        
      
      
        static
      
      
        string
      
       collection = 
      
        "
      
      
        person
      
      
        "
      
      
        ;



        
      
      
        static
      
       MongoServer mongodb = MongoServer.Create(conn);
      
        //
      
      
        连接数据库
      
      
        static
      
       MongoDatabase db = mongodb.GetDatabase(database);
      
        //
      
      
        选择数据库名
      
      
        static
      
       MongoCollection mc = db.GetCollection(collection);
      
        //
      
      
        选择集合,相当于表
      
    

二、插入数据库

      
        public
      
      
        static
      
      
        void
      
      
         Insert(Person p)

{

  mc.Insert(p);

}




      
      
        public
      
      
        static
      
      
        void
      
      
         Insert(BsonDocument b)  

{

  mc.Insert(b);

}
      
    

三、更新数据库

      
        public
      
      
        static
      
      
        void
      
      
         Update(Person p)

        {

            BsonDocument bd 
      
      =
      
         BsonExtensionMethods.ToBsonDocument(p);

            IMongoQuery query 
      
      = Query.EQ(
      
        "
      
      
        _id
      
      
        "
      
      
        , p._id);

            mc.Update(query, 
      
      
        new
      
      
         UpdateDocument(bd));

        }



        
      
      
        public
      
      
        static
      
      
        void
      
      
         Update(QueryDocument q,UpdateDocument u)

        {

            mc.Update(q, u);

        }
      
    

 

四、删除某条记录

      
        public
      
      
        static
      
      
        void
      
       Delete(
      
        int
      
      
         id)

 {

     mc.Remove(Query.EQ(
      
      
        "
      
      
        _id
      
      
        "
      
      
        , id));

 }
      
    

五、查询数据库

      
        public
      
      
        static
      
       Person Find(
      
        int
      
      
         id)

        {

            
      
      
        return
      
       mc.FindOneAs<Person>(Query.EQ(
      
        "
      
      
        _id
      
      
        "
      
      
        , id));

        }



        
      
      
        public
      
      
        static
      
       MongoCursor<Person>
      
         FindAll()

        {

            
      
      
        return
      
       mc.FindAllAs<Person>
      
        ();

        }



        
      
      
        public
      
      
        static
      
       MongoCursor<Person>
      
         Select(QueryDocument q)

        {

            
      
      
        return
      
       mc.FindAs<Person>
      
        (q);

        }
      
    

六、统计数据个数

      
        public
      
      
        static
      
      
        long
      
      
         Count(QueryDocument q)

  {

       
      
      
        return
      
      
         mc.Count(q);

 }
      
    

七、排序和分页

      
        public
      
      
        static
      
       MongoCursor<Person> SkipAndLimit(
      
        int
      
       a, 
      
        int
      
      
         b)

        {

            
      
      
        return
      
       mc.FindAllAs<Person>
      
        ().SetSkip(a).SetLimit(b);

        }
      
    

 

八、应用与示例

      
        static
      
      
        void
      
       Main(
      
        string
      
      
        [] args)

        {

            mongodb.Connect();



            
      
      
        //
      
      
        var person = Find(124);

            
      
      
        //
      
      
        Console.WriteLine(person.Name);



            
      
      
        //
      
      
        person.Name = "guizhu";

            
      
      
        //
      
      
        Update(person);

            
      
      
        //
      
      
        Console.WriteLine(person.Name);
      
      
        var
      
       query = 
      
        new
      
       QueryDocument { { 
      
        "
      
      
        _id
      
      
        "
      
      ,
      
        13
      
      
        } };

            
      
      
        var
      
       update = 
      
        new
      
       UpdateDocument { { 
      
        "
      
      
        $set
      
      
        "
      
      , 
      
        new
      
       QueryDocument { { 
      
        "
      
      
        PassWord
      
      
        "
      
      , 
      
        "
      
      
        aaaaa
      
      
        "
      
      
         } } } };

            Update(query,update);



            
      
      
        //
      
      
        对象插入

            
      
      
        //
      
      
        Person p = new Person { _id = 12, Name = "hello", PassWord = "4444" };

            
      
      
        //
      
      
        Insert(p);



            
      
      
        //
      
      
        BsonDocument 插入

            
      
      
        //
      
      
        BsonDocument b = new BsonDocument();

            
      
      
        //
      
      
        b.Add("_id", 13);

            
      
      
        //
      
      
        b.Add("Name", "world");

            
      
      
        //
      
      
        b.Add("PassWord", "6666");

            
      
      
        //
      
      
        Insert(b);



            
      
      
        //
      
      
        var p= FindAll();

            
      
      
        //
      
      
        foreach (var person in p)

            
      
      
        //
      
      
        {

            
      
      
        //
      
      
            Console.WriteLine(person.Name);

            
      
      
        //
      
      
        }



            
      
      
        //
      
      
        QueryDocument query = new QueryDocument();

            
      
      
        //
      
      
        BsonDocument b = new BsonDocument();

            
      
      
        //
      
      
        b.Add("$gte", 123);

            
      
      
        //
      
      
        b.Add("$lt", 125);

            
      
      
        //
      
      
        query.Add("_id", b);

            
      
      
        //
      
      
        var p=Select(query);

            
      
      
        //
      
      
        foreach (var person in p)

            
      
      
        //
      
      
        {

            
      
      
        //
      
      
            Console.WriteLine(person.Name);

            
      
      
        //
      
      
        }



            
      
      
        //
      
      
        Console.WriteLine(Count(query));



            
      
      
        //
      
      
        FieldsDocument f = new FieldsDocument();

            
      
      
        //
      
      
        f.Add("Name", 1);

            
      
      
        //
      
      
        MongoCursor<Person> m = mc.FindAs<Person>(query).SetFields(f);

            
      
      
        //
      
      
        foreach (var person in p)

            
      
      
        //
      
      
        {

            
      
      
        //
      
      
            Console.WriteLine(person.Name);

            
      
      
        //
      
      
        }





            
      
      
        //
      
      
        SortByDocument s = new SortByDocument();

            
      
      
        //
      
      
        s.Add("_id", 1);
      
      
        //
      
      
        -1=DESC

            
      
      
        //
      
      
        var p = Sort(s);

            
      
      
        //
      
      
        foreach (var person in p)

            
      
      
        //
      
      
        {

            
      
      
        //
      
      
            Console.WriteLine(person.Name);

            
      
      
        //
      
      
        }



            
      
      
        //
      
      
        var p = SkipAndLimit(1, 3);

            
      
      
        //
      
      
        foreach (var person in p)

            
      
      
        //
      
      
        {

            
      
      
        //
      
      
            Console.WriteLine(person.Name);

            
      
      
        //
      
      
        }

            

            
      
      
        //
      
      
        Delete(12);
      
      

            Console.WriteLine(
      
        "
      
      
        完成
      
      
        "
      
      
        );

            Console.ReadLine();

        }
      
    

 

      
        class
      
      
         Person

    {

        
      
      
        public
      
      
        int
      
      
         _id;

        
      
      
        public
      
      
        string
      
      
         Name;

        
      
      
        public
      
      
        string
      
      
         PassWord;



    }
      
    

源码下载地址:链接:http://pan.baidu.com/s/1c0tlXZi 密码:1es5

C#实现对mongoDB的简单增删查改


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论