Mongo DB Helper类

这段代码展示了如何使用C#连接MongoDB数据库,包括配置数据库连接信息、获取数据库实例、插入数据和查询数据等操作。通过MongoDBConn类初始化连接参数,使用MongoClient进行连接,并提供了静态MongodbHelper类来进行数据的增删查改操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/// <summary>
/// MongoDB的配置
/// </summary>
public class MongoDBConn
{
    /// <summary>
    /// 数据库所在主机
    /// </summary>
    private readonly string MONGO_CONN_HOST = ConfigConstant.MIP;// "192.168.1.169";

    /// <summary>
    /// 数据库所在主机的端口
    /// </summary>
    private readonly int MONGO_CONN_PORT = Convert.ToInt32(ConfigConstant.MPORT);//27017;

    /// <summary>
    /// 连接超时设置 秒
    /// </summary>
    private readonly int CONNECT_TIME_OUT = 30;

    private readonly int CONNECT_LIFE_TIME = 300;

    /// <summary>
    /// 数据库的名称
    /// </summary>
    private readonly string DB_NAME = ConfigConstant.MDBNAME;

    /// <summary>
    /// 得到数据库实例
    /// </summary>
    /// <returns></returns>
    public MongoDatabase GetDataBase()
    {

        MongoClientSettings mongoSetting = new MongoClientSettings();
        //设置连接超时时间
        mongoSetting.ConnectTimeout = new TimeSpan(CONNECT_TIME_OUT * TimeSpan.TicksPerSecond);
        mongoSetting.MaxConnectionLifeTime = new TimeSpan(CONNECT_LIFE_TIME * TimeSpan.TicksPerSecond);
        //设定最大连接池
        mongoSetting.MinConnectionPoolSize = 20;
        //等待列队数量
        mongoSetting.WaitQueueSize = 50;

        //设置数据库服务器
        mongoSetting.Server = new MongoServerAddress(MONGO_CONN_HOST, MONGO_CONN_PORT);

        //设置用户名和密码
        MongoCredential mc = MongoCredential.CreateCredential(DB_NAME, ConfigConstant.MUSER, ConfigConstant.MPWD);
        mongoSetting.Credential = mc;

        //创建Mongo的客户端
        MongoClient client = new MongoClient(mongoSetting);

        
        MongoServer ms = client.GetServer();
        ms.Connect();
        //得到服务器端并且生成数据库实例
        return ms.GetDatabase(DB_NAME);
    }
}



public class ConfigConstant
{
    /// <summary>
    /// mogodb IP
    /// </summary>
    public static string MIP = ConfigurationManager.ConnectionStrings["MIP"].ToString(); // "127.0.0.1";

    /// <summary>
    /// mogodb 端口号
    /// </summary>
    public static string MPORT = ConfigurationManager.ConnectionStrings["MPORT"].ToString(); //"27017";

    /// <summary>
    /// mogodb 数据库名称
    /// </summary>
    public static string MDBNAME = ConfigurationManager.ConnectionStrings["MDB"].ToString();// "Items"; 

    /// <summary>
    /// mogodb 用户名
    /// </summary>
    public static string MUSER = ConfigurationManager.ConnectionStrings["MUSER"].ToString();//"sa";

    /// <summary>
    /// mogodb 密码
    /// </summary>
    public static string MPWD = ConfigurationManager.ConnectionStrings["MPWD"].ToString();//"111";


    //public static string MIP = "127.0.0.1";
    //public static string MPORT = "27017";
    //public static string MDBNAME = "Items";
    //public static string MUSER = "sa";
    //public static string MPWD = "111"; 
}



public sealed class MongodbHelper
{
    static public readonly MongodbHelper Instance = new MongodbHelper();
    private MongoDatabase db;

    /// <summary>
    /// ObjectId的键
    /// </summary>
    static private readonly string OBJECTID_KEY = "_id";

    #region 初始化数据
    private MongodbHelper()
    {
        ////http://www.studyofnet.com/news/337.html
        ////mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]
        ////string strconn = "mongodb://sa:123456@127.0.0.1:27017";
        //string strconn = "mongodb://47.74.175.189:27017";
        //string dbName = "mongodb_name";
        //MongoDB.Driver.MongoClient mongoClient = new MongoClient(strconn);
        //MongoServer server = mongoClient.GetServer();
        //db = server.GetDatabase(dbName);
        try
        {
            db = new MongoDBConn().GetDataBase();
        }
        catch { }
    }

    public MongoDatabase DB
    {
        get { return db; }
    }

    public MongoCollection this[string value]
    {
        get
        {
            return db.GetCollection(value);
        }
    }
    #endregion
    
    #region 插入数据
    /// <summary>
    /// 增加操作
    /// </summary>
    /// <param name="colName">集合名称</param>
    /// <param name="bson">单条数据</param>
    /// <returns></returns>
    public static bool insert<T>(string tbName, T bson)
    { 
        try
        { 
            bool isPass = true;
            MongoCollection<BsonDocument> mc = Instance.DB.GetCollection<BsonDocument>(tbName);

            //将实体转换为json文档
            BsonDocument bd = bson.ToBsonDocument();
            //进行插入操作
            WriteConcernResult result = mc.Insert(bd);
            if (!string.IsNullOrEmpty(result.LastErrorMessage))
            {
                isPass = false;
                //throw new Exception(result.LastErrorMessage);
            }
            mc = null;
            Instance.DB.Server.Disconnect();
            return isPass;

        }
        catch
        {
            return false;
        } 
    }

    public static bool insert<T>(T bson)
    {
        try
        {
            string tbName = typeof(T).Name;

            bool isPass = true;
            MongoCollection<BsonDocument> mc = Instance.DB.GetCollection<BsonDocument>(tbName);

            //将实体转换为json文档
            BsonDocument bd = bson.ToBsonDocument();
            //进行插入操作
            WriteConcernResult result = mc.Insert(bd);
            if (!string.IsNullOrEmpty(result.LastErrorMessage))
            {
                isPass = false;
                //throw new Exception(result.LastErrorMessage);
            }
            mc = null;
            Instance.DB.Server.Disconnect();
            return isPass;

            //MongoCollection mcoll = Instance.DB.GetCollection(tbName);
            //mcoll.Insert(bson);
            //mcoll = null;
            //Instance.DB.Server.Disconnect();
            //return true;
        }
        catch
        {
            return false;
        }
    }

    /// <summary>
    /// 增加多条
    /// </summary>
    /// <param name="tbName">集合名称</param>
    /// <param name="bsonlist">数据集合</param>
    /// <returns></returns>
    public static bool Add_List<T>(string tbName, List<T> list)
    { 
        try
        {
            MongoCollection mcoll = Instance.DB.GetCollection(tbName);
            //创建一个空间json集合
            List<BsonDocument> bsonList = new List<BsonDocument>();
            //批量将数据转为json格式 并且放进json文档
            list.ForEach(t => bsonList.Add(t.ToBsonDocument()));
            //批量插入数据
            mcoll.InsertBatch(list);
            mcoll = null;
            Instance.DB.Server.Disconnect();
            return true;
        }
        catch
        {
            return false;
        } 
    }
    public static bool Add_List<T>(List<T> list)
    {
        try
        {
            string tbName = typeof(T).Name;
            MongoCollection mcoll = Instance.DB.GetCollection(tbName);
            //创建一个空间json集合
            List<BsonDocument> bsonList = new List<BsonDocument>();
            //批量将数据转为json格式 并且放进json文档
            list.ForEach(t => bsonList.Add(t.ToBsonDocument()));
            //批量插入数据
            mcoll.InsertBatch(bsonList);
            mcoll = null;
            Instance.DB.Server.Disconnect();
            return true;
        }
        catch
        {
            return false;
        }
    }

    #endregion

    #region 查询数据

    #region 查询说明
    //Query.All("name", "a", "b");//通过多个元素来匹配数组
    //Query.And(Query.EQ("name", "a"), Query.EQ("title", "t"));//同时满足多个条件
    //Query.EQ("name", "a");//等于
    //Query.Exists("type", true);//判断键值是否存在
    //Query.GT("value", 2);//大于>
    //Query.GTE("value", 3);//大于等于>=
    //Query.In("name", "a", "b");//包括指定的所有值,可以指定不同类型的条件和值
    //Query.LT("value", 9);//小于<
    //Query.LTE("value", 8);//小于等于<=
    //Query.Mod("value", 3, 1);//将查询值除以第一个给定值,若余数等于第二个给定值则返回该结果
    //Query.NE("name", "c");//不等于
    //Query.Nor(Array);//不包括数组中的值
    //Query.Not("name");//元素条件语句
    //Query.NotIn("name", "a", 2);//返回与数组中所有条件都不匹配的文档
    //Query.Or(Query.EQ("name", "a"), Query.EQ("title", "t"));//满足其中一个条件
    //Query.Size("name", 2);//给定键的长度
    //Query.Type("_id", BsonType.ObjectId );//给定键的类型
    //Query.Where(BsonJavaScript);//执行JavaScript
    //Query.Matches("Title",str);//模糊查询 相当于sql中like  -- str可包含正则表达式
    #endregion

    #region 查询所有记录
    /// <summary>
    /// 查询一个集合中的所有数据
    /// </summary>
    /// <typeparam name="T">该集合数据的所属类型</typeparam>
    /// <param name="collectionName">指定集合的名称</param>
    /// <returns>返回一个List列表</returns>
    public static List<T> FindAll<T>(string collectionName)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);
            //以实体方式取出其数据集合
            MongoCursor<T> mongoCursor = mc.FindAll();
            //直接转化为List返回
            return mongoCursor.ToList<T>();
        }
        catch { return new List<T>(); }
    }

    /// <summary>
    /// 查询一个集合中的所有数据 其集合的名称为T的名称
    /// </summary>
    /// <typeparam name="T">该集合数据的所属类型</typeparam>
    /// <returns>返回一个List列表</returns>
    public static List<T> FindAll<T>()
    {
        string collectionName = typeof(T).Name;
        return FindAll<T>(collectionName);
    }
    #endregion

    #region 查询一条记录
    /// <summary>
    /// 查询一条记录
    /// </summary>
    /// <typeparam name="T">该数据所属的类型</typeparam>
    /// <param name="query">查询的条件 可以为空</param>
    /// <param name="collectionName">去指定查询的集合</param>
    /// <returns>返回一个实体类型</returns>
    public static T FindOne<T>(IMongoQuery query, string collectionName)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);
            query = InitQuery(query);
            T t = mc.FindOne(query);
            return t;
        }
        catch
        {
            return default(T);
        }
    } 

    /// <summary>
    /// 查询一条记录
    /// </summary>
    /// <typeparam name="T">该数据所属的类型</typeparam>
    /// <param name="query">查询的条件 可以为空</param>
    /// <returns>返回一个实体类型</returns>
    public static T FindOne<T>(IMongoQuery query)
    {
        string collectionName = typeof(T).Name;
        return FindOne<T>(query, collectionName);
    }
    #endregion

    #region 普通的条件查询
    /// <summary>
    /// 根据指定条件查询集合中的数据
    /// </summary>
    /// <typeparam name="T">该集合数据的所属类型</typeparam>
    /// <param name="query">指定的查询条件 比如Query.And(Query.EQ("username","admin"),Query.EQ("password":"admin"))</param>
    /// <param name="collectionName">指定的集合的名称</param>
    /// <returns>返回一个List列表</returns>
    public static List<T> FindList<T>(IMongoQuery query, string collectionName, int limit = 10)
    {
        MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);
        IMongoQuery querys = InitQuery(query);

        MongoCursor<T> mongoCursor = mc.Find(querys).SetLimit(limit);
        mongoCursor = mc.Find(querys).SetLimit(limit);
        //IQueryable<T> queryable = mc.Find(query).AsQueryable();
        //queryable.ToList<T>();
        return mongoCursor.ToList<T>();
    }

    /// <summary>
    /// 根据指定条件查询集合中的数据
    /// </summary>
    /// <typeparam name="T">该集合数据的所属类型</typeparam>
    /// <param name="query">指定的查询条件 比如Query.And(Query.EQ("username","admin"),Query.EQ("password":"admin"))</param>
    /// <param name="collectionName">指定的集合的名称</param>
    /// <returns>返回一个List列表</returns>
    public static List<T> FindListBy<T>(IMongoQuery query, SortByDocument sortBy, string collectionName)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);
            query = InitQuery(query);

            MongoCursor<T> mongoCursor = mc.Find(query).SetSortOrder(sortBy);

            return mongoCursor.ToList<T>();
        }
        catch
        {
            return new List<T>();
        }
    }


    /// <summary>
    /// 根据指定条件查询集合中的数据记录数
    /// </summary>
    /// <typeparam name="T">该集合数据的所属类型</typeparam>
    /// <param name="query">指定的查询条件 比如Query.And(Query.EQ("username","admin"),Query.EQ("password":"admin"))</param>
    /// <param name="collectionName">指定的集合的名称</param>
    /// <returns>返回一个List列表</returns>
    public static long FindCount<T>(IMongoQuery query, string collectionName)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);
            query = InitQuery(query);

            MongoCursor<T> mongoCursor = mc.Find(query);

            return mongoCursor.Count();
        }
        catch { return 0; }
    }
     
    #endregion

    #region 分页查询 PageIndex和PageSize模式  在页数PageIndex大的情况下 效率明显变低

    /// <summary>
    /// 分页查询 PageIndex和PageSize模式  在页数PageIndex大的情况下 效率明显变低
    /// </summary>
    /// <typeparam name="T">所需查询的数据的实体类型</typeparam>
    /// <param name="query">查询的条件</param>
    /// <param name="pageIndex">当前的页数</param>
    /// <param name="pageSize">当前的尺寸</param>
    /// <param name="sortBy">排序方式</param>
    /// <param name="collectionName">集合名称</param>
    /// <returns>返回List列表</returns> 
    public static List<T> FindPage<T>(IMongoQuery query, int pageIndex, int pageSize, SortByDocument sortBy, string collectionName, out int totalPage, out int totalRows)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);
            MongoCursor<T> mongoCursor = null;
            query = InitQuery(query);
            sortBy = InitSortBy(sortBy);

            //如页序号为0时初始化为1
            pageIndex = pageIndex == 0 ? 1 : pageIndex;
            //按条件查询 排序 跳数 取数
            mongoCursor = mc.Find(query);
            totalRows = (mongoCursor.Count()).ToInt();
            totalPage = (totalRows - 1) / pageSize + 1;
            if (totalRows > 0)
            {
                mongoCursor = mc.Find(query).SetSortOrder(sortBy).SetSkip((pageIndex - 1) * pageSize).SetLimit(pageSize);
                return mongoCursor.ToList<T>();
            }
            return new List<T>();
        }
        catch (Exception ex)
        {
            totalRows = 1;
            totalPage = 1;
            return new List<T>();
        }
    }

    public static void GetDataCount<T>(IMongoQuery query, int pageSize, string collectionName, out int totalPage, out int totalRows, int maxDataCount)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);
            MongoCursor<T> mongoCursor = null;
            IMongoQuery querys = InitQuery(query);
            //先查询第一条是否有数据,若没有说明数据为空
            mongoCursor = mc.Find(querys).SetSkip(1).SetLimit(1);
            if (mongoCursor.GetEnumerator().MoveNext())
            {
                mongoCursor = mc.Find(querys).SetSkip(maxDataCount).SetLimit(1);
                //判断是否存在最大数据量,若存在总行数=最大数据量
                if (mongoCursor.GetEnumerator().MoveNext())
                {
                    totalRows = maxDataCount;
                }
                else
                {
                    totalRows = Convert.ToInt32(mongoCursor.Count());
                }
                totalPage = (totalRows - 1) / pageSize + 1;
            }
            else
            {
                totalPage = 1;
                totalRows = 1;
            }
        }
        catch
        {
            totalPage = 1;
            totalRows = 1;
        }
    }

    /// <summary>
    /// 得到字段数据
    /// </summary>
    /// <returns></returns>
    private FieldsDocument GetFieldsDocument()
    {
        FieldsDocument f = new FieldsDocument();
        f.Add("G_00_C1", 1);
        f.Add("S_60_C1", 1);
        f.Add("S_60_C12", 1);
        f.Add("S_60_C16", 1);
        f.Add("S_60_C17", 1);
        f.Add("S_60_C18", 1);
        f.Add("S_60_C19", 1);
        f.Add("S_60_C2", 1);
        f.Add("S_60_C3", 1);
        f.Add("S_60_C5", 1);
        f.Add("S_60_C6", 1);
        f.Add("S_60_C7", 1);
        f.Add("S_60_c26", 1);
        f.Add("S_60_C30", 1);
        f.Add("N_60_C32", 1);
        f.Add("S_60_C39", 1);
        f.Add("S_60_C41", 1);
        f.Add("S_60_C43", 1);
        f.Add("S_60_C46", 1);
        f.Add("S_60_C51", 1);
        f.Add("F_60_C55", 1);
        f.Add("SortType", 1);
        f.Add("IsSpecialPrice", 1);
        f.Add("ItemType", 1);
        f.Add("ItemFork", 1);
        f.Add("CN_S_ITEM_NAME", 1);
        f.Add("D_60_C36", 1);
        f.Add("D_60_C37", 1);
        f.Add("CN_F_PRICE", 1);
        f.Add("ItemPriceList", 1);
        return f;
    }

    /// <summary>
    /// 分页查询 PageIndex和PageSize模式  查询固定字段的方法
    /// </summary>
    /// <typeparam name="T">所需查询的数据的实体类型</typeparam>
    /// <param name="query">查询的条件</param>
    /// <param name="fd">指定查询的字段</param>
    /// <param name="pageIndex">当前的页数</param>
    /// <param name="pageSize">当前的尺寸</param>
    /// <param name="sortBy">排序方式</param>
    /// <param name="collectionName">集合名称</param>
    /// <returns>返回List列表</returns>
    public static List<T> FindFields<T>(IMongoQuery query, FieldsDocument fd, int pageIndex, int pageSize, SortByDocument sortBy, string collectionName, out int totalPage, out int totalRows)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);
            MongoCursor<T> mongoCursor = null;
            query = InitQuery(query);
            sortBy = InitSortBy(sortBy);

            //如页序号为0时初始化为1
            pageIndex = pageIndex == 0 ? 1 : pageIndex;
            //按条件查询 排序 跳数 取数
            mongoCursor = mc.Find(query);
            totalRows = (mongoCursor.Count()).ToInt();
            totalPage = (totalRows - 1) / pageSize + 1;

            if (totalRows > 0)
            {
                //按条件查询 排序 跳数 取数
                mongoCursor = mongoCursor.SetFields(fd).SetSortOrder(sortBy).SetSkip((pageIndex - 1) * pageSize).SetLimit(pageSize);
                return mongoCursor.ToList<T>();
            }
            return new List<T>();
        }
        catch (Exception ex)
        {
            totalRows = 1;
            totalPage = 1;
            return new List<T>();
        }
    }
     

    #endregion

    #endregion

    #region 更新数据
    /// <summary>
    /// 更新数据
    /// </summary>
    /// <typeparam name="T">更新的数据 所属的类型</typeparam>
    /// <param name="query">更新数据的查询</param>
    /// <param name="update">需要更新的文档</param>
    public static bool Update<T>(IMongoQuery query, IMongoUpdate update)
    {
        string collectionName = typeof(T).Name;
        return Update<T>(query, update, collectionName);
    }

    /// <summary>
    /// 更新数据
    /// </summary>
    /// <typeparam name="T">更新的数据 所属的类型</typeparam>
    /// <param name="query">更新数据的查询</param>
    /// <param name="update">需要更新的文档</param>
    /// <param name="collectionName">指定更新集合的名称</param>
    public static bool Update<T>(IMongoQuery query, IMongoUpdate update, string collectionName)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);

            query = InitQuery(query);
            //更新数据
            WriteConcernResult result = mc.Update(query, update);
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
    }

    public static bool Update<T>(IMongoQuery query, IMongoUpdate update, string collectionName,UpdateFlags upflg)
    {
        try
        {
            MongoCollection<T> mc = Instance.DB.GetCollection<T>(collectionName);

            query = InitQuery(query);
            //更新数据
            WriteConcernResult result = mc.Update(query, update, upflg);
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
    }
    #endregion

    #region 移除/删除数据
    /// <summary>
    /// 移除指定的数据
    /// </summary>
    /// <typeparam name="T">移除的数据类型</typeparam>
    /// <param name="query">移除的数据条件</param>
    /// <param name="collectionName">指定的集合名词</param>
    public static bool Remove<T>(IMongoQuery query, string collectionName)
    {
        try
        {
            MongoCollection<T> mc = MongodbHelper.Instance.db.GetCollection<T>(collectionName);
            query = InitQuery(query);
            //根据指定查询移除数据
            mc.Remove(query);
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
    }

    /// <summary>
    /// 移除指定的数据
    /// </summary>
    /// <typeparam name="T">移除的数据类型</typeparam>
    /// <param name="query">移除的数据条件</param>
    public static bool Remove<T>(IMongoQuery query)
    {
        string collectionName = typeof(T).Name;
        return Remove<T>(query, collectionName);
    }

    /// <summary>
    /// 移除实体里面所有的数据
    /// </summary>
    /// <typeparam name="T">移除的数据类型</typeparam>
    public static bool ReomveAll<T>()
    {
        string collectionName = typeof(T).Name;
        return RemoveAll(collectionName);
    }


    /// <summary>
    /// 删除所有
    /// </summary>
    /// <param name="tbName">集合名称</param> 
    /// <returns></returns>
    public static bool RemoveAll(string tbName)
    {
        try
        {
            MongoCollection mcoll = Instance.DB.GetCollection(tbName);
            mcoll.RemoveAll();
            mcoll = null;
            return true;
        }
        catch
        {
            return false;
        }
    }
    #endregion

    #region 私有的一些辅助方法
    /// <summary>
    /// 初始化查询记录 主要当该查询条件为空时 会附加一个恒真的查询条件,防止空查询报错
    /// </summary>
    /// <param name="query">查询的条件</param>
    /// <returns></returns>
    private static IMongoQuery InitQuery(IMongoQuery query)
    {
        if (query == null)
        {
            //当查询为空时 附加恒真的条件 类似SQL:1=1的语法
            query = Query.Exists(OBJECTID_KEY);
        }
        return query;
    }

    /// <summary>
    /// 初始化排序条件  主要当条件为空时 会默认以ObjectId递增的一个排序
    /// </summary>
    /// <param name="sortBy"></param>
    /// <returns></returns>
    private static SortByDocument InitSortBy(SortByDocument sortBy)
    {
        if (sortBy == null)
        {
            //默认ObjectId 递增
            sortBy = new SortByDocument(OBJECTID_KEY, -1);
        }
        return sortBy;
    }
    #endregion
 }

public class BaseEntity
{
    /// <summary>
    /// 字段映射,告诉mongodb这个字段在数据库中对应_id
    /// </summary>
    [BsonId]
    //告诉mongodb这个字段在数据库中的类型是ObjectId
    [BsonRepresentation(BsonType.ObjectId)]
    public string _id { get; set; }
}


public class InsertBaseEntity
{
    /// <summary>
    /// 字段映射,告诉mongodb这个字段在数据库中对应_id
    /// </summary>
    [BsonId]
    //告诉mongodb这个字段在数据库中的类型是ObjectId
    [BsonRepresentation(BsonType.ObjectId)]
    //private string id;
    public string _id
    {
        get
        {
            return new ObjectId().ToString();
        }
        set
        {

        }
    }
}

需要引用的DLL
https://download.youkuaiyun.com/download/xiongliuyun/20320080

web config 中需要配置
<add name="MIP" connectionString="192.168.10.18" />
<add name="MPORT" connectionString="27017" />
<add name="MDB" connectionString="mongodb_name" />
<add name="MUSER" connectionString="stander" />
<add name="MPWD" connectionString="stander7955178" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值