mongodb-csharpmongodb-csharp入门


备注

MongoDB C#Driver是一个.NET驱动程序,用于处理对MongoDB Server的请求。它允许完全异步调用,并使用BSON库处理对象的序列化/去序列化。

MongoDB C#.NET文档

MongoDB C#API文档

版本

发布日期
2.2.4 2016年5月2日
2.2.3 2016年2月2日
2.2.2 2016年1月15日
2.2.1 2016年1月8日
2.2.0 2015年12月8日
2.1.1 2015年11月11日
2.1.0 二〇一五年十月十九日
2.0.1 2015-06-08
2.0.0 2015-04-01
1.10.0 2015年1月29日

基本操作

class Program
    {
       
        static void Main(string[] args)
        {
            string serverName = "INTACT-ETL";
            string databaseName = "SOMEDB";
            string collectionName = "TestCol";

            //Build Connection string
            string connectionString = string.Format("mongodb://{0}", serverName);
            //Create MongoClient and connect in one step
            IMongoClient client = new MongoClient(connectionString);
            //Create database object
            IMongoDatabase database = client.GetDatabase(databaseName);

            //Inserting one object
            UserInfo userObject = new UserInfo {FirstName = "Bob",LastName = "Smith", DateOfBirth = DateTime.Now };
            IMongoCollection<UserInfo> collection = database.GetCollection<UserInfo>(collectionName);
            collection.InsertOne(userObject);

            //Retrieving one object
            UserInfo retrievedObject;
            FilterDefinition<UserInfo> theFilter = Builders<UserInfo>.Filter.Eq(p => p.FirstName, "Bob");
            retrievedObject = collection.Find<UserInfo>(theFilter).First();
            Console.WriteLine("FirstName: {0}", retrievedObject.FirstName);
            Console.WriteLine("LastName: {0}", retrievedObject.LastName);
            Console.WriteLine("DateOfBirth: {0}", retrievedObject.DateOfBirth);

            //Delete one object
            DeleteResult result =  collection.DeleteOne<UserInfo>(p => p.FirstName == "Bob");
            Console.WriteLine("Is Acked : {0}",result.IsAcknowledged);
            Console.WriteLine("Press Enter to exit...");
            Console.ReadLine();


        }

        public class UserInfo
        {
            [MongoDB.Bson.Serialization.Attributes.BsonId]
            public ObjectId? _id { get { return ObjectId.GenerateNewId(); } set { } }
            public string FirstName { get; set; }
            public string LastName { get; set; }
            public DateTime DateOfBirth { get; set; }
        }
    }
 

如何从应用程序连接MongoDb数据库

定义参数

private static IMongoClient _client;
private static IMongoDatabase _database;
private static IMongoCollection< -collection class name- > _collection;
 

为参数指定值

_client = new MongoClient("mongodb://localhost:27017");
_database = _client.GetDatabase("database name here");
_collection = _database.GetCollection< -collection class name- >("collection name here");
 

安装或设置

通过nuget下载驱动程序。在包管理器控制台中使用此命令

Install-Package mongocsharpdriver