MongoDB的C#封装类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MongoDB的C#封装类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6441字,纯文字阅读大概需要10分钟。
内容图文
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MongoDB;
using MongoDB.GridFS;
namespace CompanyName.DepartmentName.Common.Util
{
public class MongoHelper
{
public static readonly string connectionString =
"Servers=127.0.0.1:2222;ConnectTimeout=30000;ConnectionLifetime=300000;MinimumPoolSize=8;MaximumPoolSize=256;Pooled=true";
public static readonly string database =
"DiDiDataBase";
#region 新增
/// <summary>
/// 插入新数据
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="entiry"></param>
public static void InsertOne<T>(
string collectionName, T entity)
where T :
class
{
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
categories.Insert(entity, true);
mongo.Disconnect();
}
}
/// <summary>
/// 插入多个数据
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="entiry"></param>
public static void InsertAll<T>(
string collectionName, IEnumerable<T> entity)
where T :
class
{
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
categories.Insert(entity, true);
mongo.Disconnect();
}
}
#endregion
#region 更新
/// <summary>
/// 更新操作
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="collectionName">表名</param>
/// <param name="query">条件</param>
/// <param name="entry">新实体</param>
public static void Update<T>(
string collectionName, Document entity, Document query)
where T :
class
{
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
categories.Update(entity, query, true);
mongo.Disconnect();
}
}
/// <summary>
/// 更新操作
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="collectionName">表名</param>
/// <param name="query">条件</param>
/// <param name="entry">新实体</param>
public static void UpdateAll<T>(
string collectionName, Document entity, Document query)
where T :
class
{
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
categories.Update(entity, query, UpdateFlags.MultiUpdate, true);
mongo.Disconnect();
}
}
#endregion
#region 查询
/// <summary>
/// 获取一条数据
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query"></param>
/// <returns></returns>
public static T GetOne<T>(
string collectionName, Document query)
where T :
class
{
T result =
default(T);
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
result =
categories.FindOne(query);
mongo.Disconnect();
}
return result;
}
/// <summary>
/// 获取一条数据
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query"></param>
/// <returns></returns>
public static T GetOne<T>(
string collectionName, Document query, Document fields)
where T :
class
{
T result =
default(T);
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
result = categories.Find(query, fields).Skip(
0).Limit(
1).Documents.First();
mongo.Disconnect();
}
return result;
}
/// <summary>
/// 获取一个集合下所有数据
/// </summary>
/// <param name="collectionName"></param>
/// <returns></returns>
public static List<T> GetAll<T>(
string collectionName)
where T :
class
{
List<T> result =
new List<T>
();
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
foreach (T entity
in categories.FindAll().Limit(
50).Documents)
{
result.Add(entity);
}
mongo.Disconnect();
}
return result;
}
/// <summary>
/// 获取列表
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query"></param>
/// <param name="Sort"></param>
/// <param name="cp"></param>
/// <param name="mp"></param>
/// <returns></returns>
public static List<T> GetList<T>(
string collectionName,
object selector, Document sort,
int cp,
int mp)
where T :
class
{
List<T> result =
new List<T>
();
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
foreach (T entity
in categories.Find(selector).Sort(sort).Skip((cp -
1) *
mp).Limit(mp).Documents)
{
result.Add(entity);
}
mongo.Disconnect();
}
return result;
}
/// <summary>
/// 获取列表
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query"></param>
/// <param name="Sort"></param>
/// <param name="cp"></param>
/// <param name="mp"></param>
/// <returns></returns>
public static List<T> GetList<T>(
string collectionName,
object selector,
object fields, Document sort,
int cp,
int mp)
where T :
class
{
List<T> result =
new List<T>
();
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
foreach (T entity
in categories.Find(selector, fields).Sort(sort).Skip((cp -
1) *
mp).Limit(mp).Documents)
{
result.Add(entity);
}
mongo.Disconnect();
}
return result;
}
#endregion
#region 删除
/// <summary>
/// 删除数据
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="entity"></param>
public static void Delete<T>(
string collectionName, Document query)
where T :
class
{
using (Mongo mongo =
new Mongo(connectionString))
{
mongo.Connect();
IMongoDatabase friends =
mongo.GetDatabase(database);
IMongoCollection<T> categories = friends.GetCollection<T>
(collectionName);
categories.Remove(query, true);
mongo.Disconnect();
}
}
#endregion
}
}
MongoDB的C#封装类
标签:
本文系统来源:http://www.cnblogs.com/hongdada/p/5641384.html
内容总结
以上是互联网集市为您收集整理的MongoDB的C#封装类全部内容,希望文章能够帮你解决MongoDB的C#封装类所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
来源:【匿名】