这个是在查找到的一些资料的基础上自己写的,不足之处请交流指正:

using MongoDB.Bson;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; // more infomation please access https://docs.mongodb.com/getting-started/csharp/ namespace MongoDBTest
{
public static class MongoDBHelper
{
private static MongoServerAddress server = new MongoServerAddress("127.0.0.1", );
private static MongoClientSettings setting = new MongoClientSettings();
private static MongoCredential credential = MongoCredential.CreateCredential("databaseName", "username", "password"); private static void ConfigureSettings(MongoClientSettings setting)
{
// setting.Credentials = (IEnumerable<MongoCredential>)credential;
setting.ConnectTimeout = TimeSpan.FromSeconds();
setting.ConnectionMode = ConnectionMode.Direct;
setting.GuidRepresentation = GuidRepresentation.CSharpLegacy;
setting.IPv6 = false;
setting.MaxConnectionIdleTime = TimeSpan.FromMinutes();
setting.MaxConnectionLifeTime = TimeSpan.FromMinutes();
setting.MaxConnectionPoolSize = ;
setting.SocketTimeout = TimeSpan.FromSeconds();
setting.WaitQueueSize = ;
setting.WaitQueueTimeout = TimeSpan.FromMilliseconds();
} /// <summary>
/// use filter to find data from database
/// </summary>
/// <typeparam name="TClass">mapping class,according Builder<TClass></typeparam>
/// <param name="databaseName">database name</param>
/// <param name="collectionName">collection name</param>
/// <param name="filter">FilterDefinition,the field of Builders</param>
/// <param name="sort">SortDefinition,the field of Builders</param>
/// <returns>List<TClass>,get by ToList() for changing find result</returns>
public static List<TClass> FindData<TClass>(string databaseName,string collectionName,FilterDefinition<TClass> filter, SortDefinition<TClass> sort=null)
{
try
{
ConfigureSettings(setting);
var client = new MongoClient(setting); var database = client.GetDatabase(databaseName);
var collection = database.GetCollection<TClass>(collectionName); var result = collection.Find(filter).Sort(sort);
var test = result.ToList();
return test; }catch(Exception e)
{
throw e;
}
} public static int InserOne<TClass>(string databaseName,string collectionName,TClass tClass)
{
try {
ConfigureSettings(setting);
var client = new MongoClient(setting); var database = client.GetDatabase(databaseName);
var collection = database.GetCollection<TClass>(collectionName); collection.InsertOne(tClass);
return ;
}
catch(Exception e)
{
throw e;
}
}
public static int UpdateMany<TClass>(string databaseName, string collectionName, FilterDefinition<TClass> filter, UpdateDefinition<TClass> update)
{
try
{
ConfigureSettings(setting);
var client = new MongoClient(setting); var database = client.GetDatabase(databaseName);
var collection = database.GetCollection<TClass>(collectionName); collection.UpdateMany(filter, update); return ;
}
catch (Exception e)
{
throw e;
}
} public static int UpdateOne<TClass>(string databaseName, string collectionName, FilterDefinition<TClass> filter, UpdateDefinition<TClass> update)
{
try
{
ConfigureSettings(setting);
var client = new MongoClient(setting); var database = client.GetDatabase(databaseName);
var collection = database.GetCollection<TClass>(collectionName); collection.UpdateOne(filter, update); return ;
}
catch (Exception e)
{
throw e;
}
} public static int DeleteOne<TClass>(string databaseName, string collectionName, FilterDefinition<TClass> filter)
{
try
{
ConfigureSettings(setting);
var client = new MongoClient(setting); var database = client.GetDatabase(databaseName);
var collection = database.GetCollection<TClass>(collectionName); collection.DeleteOne(filter); return ;
}
catch (Exception e)
{
throw e;
}
} public static int DeleteMany<TClass>(string databaseName, string collectionName, FilterDefinition<TClass> filter)
{
try
{
ConfigureSettings(setting);
var client = new MongoClient(setting); var database = client.GetDatabase(databaseName);
var collection = database.GetCollection<TClass>(collectionName); collection.DeleteMany(filter); return ;
}
catch (Exception e)
{
throw e;
}
}
}
}

MongodbHelper的更多相关文章

  1. MongoDbHelper 帮助类(下)

    对MongoDbHelper帮助类进行了一下整合,但是代码中一个方法需要将string类型转化为BsonValue类型一直出错.所以欢迎留言指正 using System; using System. ...

  2. MongoDbHelper 帮助类(上)

    在网上搜索mongodbHelper的帮助类时,出来的东西都大同小异,再此摘录一下. 这些代码也看了一遍,总是感觉重复的代码太多了,在后续的文章中又整合了一下,请看下篇,欢迎指正! using Sys ...

  3. C#/.Net操作MongoDBHelper类

    先 NuGet两个程序集 1:MongoDB.Driver.   2:MongoDB.Bson namespace ConsoleApp1{ /// <summary> /// Mongo ...

  4. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  5. 非关系型数据库来了,CRL快速开发框架升级到版本4

    轮子?,我很任性,我要造不一样的轮子,同时支持关系型和非关系型的框架有没有 新版数据查询作了些调整,抽象了LabmdaQueryy和DBExtend,升级到版本4,非关系数据库MongoDB被支持了! ...

  6. MongoDB基础入门003--使用官方驱动操作mongo,C#

    本篇先简单介绍一下,使用官方驱动来操作MongoDB.至于MongoDB原生的增删改查语句,且等以后再慢慢学习. 一.操作MongoDB的驱动主要有两个 1.官方驱动:https://github.c ...

  7. Mongodb学习笔记五(C#操作mongodb)

    mongodb c# driver(驱动)介绍 目前基于C#的mongodb驱动有两种,分别是官方驱动(下载地址)和samus驱动(下载地址). 本次我们只演示官方驱动的使用方法. 官方驱动文档查看 ...

  8. 【MongoDB】 基于C#官方驱动2.2版的封装类

    一.前言 最近项目中要用到MongoDB,因此实现做了不少的调研.发现网上很多现有关于MongoDB C#官方驱动的调用方法都是基于1.8版本的,已经不是用了最新的2.2版本.因此我在基于C#官方驱动 ...

  9. MongoDB replication set副本集(主从复制)(8)(转)

    转载地址:http://www.cnblogs.com/huangxincheng/p/4870557.html replicattion set 就是多台服务器维护相同的数据副本,提高服务器的可用性 ...

随机推荐

  1. [转] HTML5 Blob与ArrayBuffer、TypeArray和字符串String之间转换

    1.将String字符串转换成Blob对象 //将字符串 转换成 Blob 对象 var blob = new Blob(["Hello World!"], { type: 'te ...

  2. ssm又乱码

    以前用mybatis的时候是这样的 mysql.connection.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characte ...

  3. pkusc2018数学题

     题解: 还是很水的 复制个题面过来 好吧我不会复制 https://www.cnblogs.com/skylee03/p/9127130.html 题目链接 第一题是个傻逼题 初中数学题随便凑凑 ( ...

  4. [转]Maven与nexus关系

    开始在使用Maven时,总是会听到nexus这个词,一会儿maven,一会儿nexus,当时很是困惑,nexus是什么呢,为什么它总是和maven一起被提到呢? 我们一步一步来了解吧. 一.了解Mav ...

  5. ELK收集Nginx自定义日志格式输出

    1.ELK收集日志的有两种常用的方式: 1.1:不修改源日志格式,简单的说就是在logstash中转通过 grok方式进行过滤处理,将原始无规则的日志转换为规则日志(Logstash自定义日志格式) ...

  6. Python题目练习(一)

    1.使用while循环输入 1 2 3 4 5 6  8 9 10 i = 1 while i <=10 : if i != 7: print(i) else: print(' ') i += ...

  7. python--异常捕获

    #异常捕获---指定异常类型 try: #尝试 fi=open(r'D:\Users\4399-3046\Desktop\test.txt',mode='wb'); fi.write('写入文字'); ...

  8. 数仓1.1 分层| ODS& DWD层

    数仓分层 ODS:Operation Data Store原始数据 DWD(数据清洗/DWI) data warehouse detail数据明细详情,去除空值,脏数据,超过极限范围的明细解析具体表 ...

  9. 2、Qt Project之鼠标事件监控

    鼠标事件监控: 对于鼠标时间监控的相关操作,我们在简历工程的时候需要选择的是QWidget基类,不选择QMainWindow基类,如下所示: Base class:QWidget Step1:我们首先 ...

  10. css3流动布局

    -webkit-box-ordinal-group: 2;1...布局优先显示 display: -webkit-box;盒子 -webkit-box-orient:horizontal;显示方式 - ...