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
}

 

转载于:https://www.cnblogs.com/xffy1028/archive/2011/12/05/2276913.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值