纸上得来终觉浅,绝知此事要躬行。

 

C# 驱动连接 MongoDB ReplSet

前言

接上一篇:MongoDB 复制集(Replica Set) 配置(Windows 版)

当配置好 MongoDB 的复制集(Replica Set)之后,肯定要做的就是应用程序连接 MongoDB Replica Set 进行数据存储等相关操作。但连接字符串怎么写呢?

插入一句:MongoDB Replica Set 的其中一个好处就是 primary 挂了之后 Arbiter 节点会自动选取一个 secondary 节点做为新的 primary 节点。

示例连接 MongoDB Replica Set 集群

其实很简单,将多个连接字符串写到一块儿就可以了。MongoDB 驱动会自动选择 primary 节点以支持接下来的操作。

namespace ReplSetTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var rnd = new Random( 0 );

            for( int i = 0; i < 100; i++ )
            {
                var mongo = new MongoClient(new MongoUrl("mongodb://127.0.0.1:29031,127.0.0.1:29032"));
                var database = mongo.GetDatabase("TestDB");
                var collection = database.GetCollection<ProductInfo>("Products");
                var product = new ProductInfo {
                    Id = i,
                    Name = Guid.NewGuid().ToString("N"),
                    Price = Convert.ToDecimal(rnd.NextDouble()*100)
                };

                collection.InsertOneAsync(product).Wait();
            }
        }
    }

    public class ProductInfo
    {
        [BsonId]
        public int Id { get; set; }

        public string Name { get; set; }

        public decimal Price { get; set; }
    }
}

 

注意观察上面所写的连接字符串,采用了英文逗号(,)分隔了每一个 MongoDB 节点。这样驱动就会自动选择可以用的节点了。

posted on 2015-08-24 17:22  JRoger  阅读(697)  评论(0编辑  收藏  举报

导航