• 使用MongoDB C#官方驱动操作MongoDB


    想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动。C#版的驱动有很多种,如官方提供的,samus。 实现思路大都类似。这里我们先用官方提供的mongo-csharp-driver ,当前版本为1.7.0.4714

    下载地址:

    http://github.com/mongodb/mongo-csharp-driver/downloads

    编译之后得到两个dll

     MongoDB.Driver.dll:顾名思义,驱动程序

     MongoDB.Bson.dll:序列化、Json相关

     然后在我们的程序中引用这两个dll。

     下面的部分简单演示了怎样使用C#对MongoDB进行增删改查操作。

    Program.cs

    using System;
    using MongoDB.Driver;
    using MongoDB.Bson;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //数据库连接字符串
                string conn = "mongodb://127.0.0.1:27017";
                //数据库名称
                string database = "RsdfDb";
                string collection = "Act_User";
    
                MongoServer mongodb = MongoServer.Create(conn);//连接数据库
                MongoDatabase mongoDataBase = mongodb.GetDatabase(database);//选择数据库名
                MongoCollection mongoCollection = mongoDataBase.GetCollection(collection);//选择集合,相当于表
                mongodb.Connect();
    
                //普通插入
                var o = new { UserID = 0, UserName = "admin", Password = "1" };
                mongoCollection.Insert(o);
    
                //对象插入
                User user = new User { UserID = 1, UserName = "chenqp", Password = "1" };
                mongoCollection.Insert(user);
    
                //BsonDocument 插入
                BsonDocument bd = new BsonDocument();
                bd.Add("UserID", 2);
                bd.Add("UserName", "yangh");
                bd.Add("Password", "1");
                mongoCollection.Insert(bd);
    
                Console.ReadLine();
    
            }
        }   
    }

    User.cs

    using MongoDB.Bson;
    
    namespace ConsoleApplication1
    {
        class User
        {
            //_id 属性必须要有,否则在更新数据时会报错:“Element '_id' does not match any field or property of class”。
            public ObjectId _id; //BsonType.ObjectId 这个对应了 MongoDB.Bson.ObjectId 
            public int UserID { get; set; }
            public string UserName { get; set; }
            public string Password { get; set; }
        }
    }

    shell 界面如下:

  • 相关阅读:
    Qt状态机实例
    <STL> accumulate 与 自定义数据类型
    <STL> 容器混合使用
    散列表(C版)
    Canonical 要将 Qt 应用带入 Ubuntu
    <STL> set随笔
    C++ 文件流
    视频播放的基本原理
    <STL> pair随笔
    c++ 内存存储 解决char*p, char p[]的问题
  • 原文地址:https://www.cnblogs.com/Bobby0322/p/5091524.html
Copyright © 2020-2023  润新知