当前位置: 首页 > 工具软件 > mongoHelper > 使用案例 >

MongoDbHelper

欧阳洲
2023-12-01

 添加引用:MongoDB.Driver

using MongoDB.Bson;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;

namespace YFMongoBD
{
    public class Db
    {
        private static readonly string connStr = "mongodb://192.168.0.1:27017/";//ConfigurationManager.ConnectionStrings["connStr"].ToString();

        private static readonly string dbName = "lhctest";// ConfigurationManager.AppSettings["dbName"].ToString();

        private static IMongoDatabase db = null;

        private static readonly object lockHelper = new object();

        private Db() { }

        public static IMongoDatabase GetDb()
        {
            if (db == null)
            {
                lock (lockHelper)
                {
                    if (db == null)
                    {
                        var client = new MongoClient(connStr);
                        db = client.GetDatabase(dbName);
                    }
                }
            }
            return db;
        }
    }

    public class MongoDbHelper
    {
        private IMongoDatabase db = null;

        public MongoDbHelper()
        {
            this.db = Db.GetDb();
        }

        public IMongoCollection<T> GetConnection<T>()
        {
             return db.GetCollection<T>(typeof(T).Name);
        }
    }
}

调用

using MongoDB.Bson.IO;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YFMongoBD;
using Newtonsoft;

namespace TestMongoDB
{
    [MongoDB.Bson.Serialization.Attributes.BsonIgnoreExtraElements]//防止没有key时序列化报错
    public class  yfTestClass
    {
        public string id { set; get; }
        public string name { set; get; }
        public string value { set; get; }
        public string key5 { set; get; }
    }
    class Program
    {
        private static MongoDbHelper db = new MongoDbHelper();
        static void Main(string[] args)
        {
            var node = new yfTestClass();

            node.name = "ssss";
            node.value = "dddefwefew";
            node.id = DateTime.Now.ToString("yyyyMMddhhmmss");
            
            var connection = db.GetConnection<yfTestClass>();
            //增加
            //connection.InsertOne(node);

            //删除
            //connection.DeleteMany(aa=>aa.name== "dddefwefew");


            //修改
            //var update = Builders<yfTestClass>.Update.Set(s => s.key2, "keykeykey");
            //connection.UpdateMany(aa=>aa.id == "20170313044509", update);

            //查
            var list = connection.Find(u=>u.name=="ssss").SortBy(u=>u.id).ToList();
            var jsonstr = Newtonsoft.Json.JsonConvert.SerializeObject(list);
            Console.WriteLine(jsonstr);
            Console.ReadLine();
        }
    }
}

 类似资料:

相关阅读

相关文章

相关问答