C#连接MongoDB数据库

记录一下C#连接MongoDB数据的流程。
首先是要下载一下MongoDB提供的官方NuGet包MongoDB.Driver
MongoDB.Driver包这个添加的时候会一起添加好多联动的,如果有特殊需求可以看需求选择是否添加其他的。

<add  name="mongodbConn" connectionString="mongodb://ip/test" />

然后是在配置文件里面填写连接。

 // 定义要查询的集合名称
            const string collectionName = "test1";//algTemplateConfig
            // 创建并实例化客户端
            // 读取连接字符串
            string strCon = ConfigurationManager.ConnectionStrings["mongodbConn"].ConnectionString;
            var mongoUrl = new MongoUrlBuilder(strCon);
            // 获取数据库名称
            string databaseName = mongoUrl.DatabaseName;
            var client = new MongoClient(mongoUrl.ToMongoUrl());
            //  根据数据库名称实例化数据库
            var database = client.GetDatabase(databaseName);
            //确定访问哪张表Pet是实体类可变的
            var collection = database.GetCollection<Pet>(collectionName);
            //执行查询方法
            var res = collection.Find(new BsonDocument()).ToList();
            //将MongoDB的数据转换成IEnumerable类型 Pet是实体类可变的
            IEnumerable<Pet> pplist = res.ToList();
			//转换为常用的list类型
            List<PetQ> qplist = new List<PetQ>();

补充一点是关于MongoDB特性的ObjectID的,一开始查的时候_id这个字段出来的值都是ObjectId(“60f23f09718ab17bdf1e2b12”)这种样子的,但是这并不是我想要的,所以要改变这个格式成为"_id":"60f23f09718ab17bdf1e2b11"这种格式的。
这个时候要在Model里面标出_id对应的字段了。

class Pet
    {
        [BsonId]
        [BsonRepresentation(BsonType.ObjectId)]
        public string _id { get; set; }
        public string name { get; set; }
        public string createdate { get; set; }
        public A[] content { get; set; }
        public ConModel contentModel { get; set; }
        public List<B> contentlist { get; set; }
    }

根据表字段值来选择Model中的字段为什么类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值