mongodb-csharp

Getting started with mongodb-csharp

Remarks#

MongoDB C# Driver is a .NET driver that handles requests to MongoDB Server. It allows for fully asychronous calls and handles serialization/deserialazation of objects using the BSON Library.

MongoDB C# .NET Documentation

MongoDB C# API Documentation

Versions#

VersionRelease Date
2.2.42016-05-02
2.2.32016-02-02
2.2.22016-01-15
2.2.12016-01-08
2.2.02015-12-08
2.1.12015-11-11
2.1.02015-10-19
2.0.12015-06-08
2.0.02015-04-01
1.10.02015-01-29

Installation or Setup

Download driver via nuget. Using this command in the package manager console

Install-Package mongocsharpdriver

How to connect MongoDb Database from application

Define parameters

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

Assign values to parameters

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

Basic Operations

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; }
        }
    }

This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow