zoukankan      html  css  js  c++  java
  • MongoDBHelper

    View Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using MongoDB;

    public class MongoDBHelper : IDisposable
    {
    private Mongo _mongo;
    private IMongoDatabase _db;
    private static readonly string connString = "Server=127.0.0.1";//默认的数据库链接
    private static readonly string dbName = "NewsDB";//默认的数据库
    public MongoDBHelper()
    : this(connString, dbName) //可以给定默认的链接字符串和名称
    {

    }
    /// <summary>
    /// 连接MongoDB
    /// </summary>
    /// <param name="dbName">数据库名称,服务器使用默认连接</param>
    public MongoDBHelper(string dbName)
    {
    _mongo = new Mongo(connString);
    if (!string.IsNullOrEmpty(dbName))
    _db = _mongo.GetDatabase(dbName);
    else
    throw new ArgumentNullException("DBName 为空...");
    }
    /// <summary>
    /// 连接MongoDB
    /// </summary>
    /// <param name="connString">连接字符串</param>
    /// <param name="dbName">数据库名称</param>
    public MongoDBHelper(string connString, string dbName)
    {
    if (!string.IsNullOrEmpty(connString))
    _mongo = new Mongo(connString);
    else
    throw new ArgumentNullException("connectionString为空...");
    _mongo.Connect();
    if (!string.IsNullOrEmpty(dbName))
    _db = _mongo.GetDatabase(dbName);
    else
    throw new ArgumentNullException("DBName 为空...");
    }

    /// <summary>
    /// 获取指定数据库的集合
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <returns></returns>
    public IMongoCollection<T> GetCollection<T>() where T : class
    {
    return _db.GetCollection<T>();
    }
    /// <summary>
    /// 获取指定数据库的集合
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="name"></param>
    /// <returns></returns>
    public IMongoCollection<T> GetCollection<T>(string name) where T : class
    {
    return _db.GetCollection<T>(name);
    }
    /// <summary>
    /// 根据指定的名称切换数据库
    /// </summary>
    /// <param name="dbName"></param>
    /// <returns></returns>
    public IMongoDatabase ChangeDB(string dbName)
    {
    if (!string.IsNullOrEmpty(dbName))
    _db = _mongo.GetDatabase(dbName);
    else
    throw new ArgumentNullException("DBName为空...");
    return _db;
    }



    #region IDisposable 成员

    public void Dispose()
    {
    if (_mongo != null)
    {
    _mongo.Dispose();
    _mongo = null;
    }
    }

    #endregion
    }
  • 相关阅读:
    cookie
    iOS本地推送
    2020-06-17:红锁的设计思想?
    2020-06-16:Redis hgetall时间复杂度?
    2020-06-15:Redis分布式锁怎么解锁?
    2020-06-14:Redis怎么实现分布式锁?
    2020-06-13:Redis底层数据结构?
    2020-06-12:推箱子自动求解。
    2020-06-11:Redis支持的数据类型?
    2020-06-10:给定一个无序数组,里面数都是成双数的,只有一个数是成单数的,求这个数? 来自
  • 原文地址:https://www.cnblogs.com/xffy1028/p/2276913.html
Copyright © 2011-2022 走看看