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

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. php BCMath高精度计算

    Php: BCMath bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string    right_ ...

  2. 洛谷---小L和小K的NOIP考后放松赛

    链接: https://www.luogu.org/contestnew/show/11805?tdsourcetag=s_pcqq_aiomsg 题解: 没人过的题我就没看 t2: 考虑每个点是朋友 ...

  3. 10个财务工作中常用的 Excel 万能公式

    1.多条件判断公式 =IF(AND(条件1,条件2...条件n),同时满足条件返回的值,不满足条件返回的值) =IF(OR(条件1,条件2...条件n),同时满足任一条件返回的值,不满足条件返回的值) ...

  4. sql对于字符串的处理

  5. 事件(Event)(onclick,onchange,onload,onunload,onfocus,onblur,onselect,onmuse)【转载】

    ylbtech-Event:事件(Event)对象 事件(Event) HTML 4.0 事件属性 onclick onchange onload onunload onselect onmouse ...

  6. day63 django-模板语言

    我们的功能是需要解耦的,从开始就一直在强调这一点,所以我们的函数需要另外放到一个单独的文件里面,一般都是放到views文件里面,views叫做视图,一般术语叫做视图函数,用来进行各种逻辑判断的,需要一 ...

  7. LeetCode 237. 删除链表中的节点

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  8. react-antd 按需加载报错

    基于create-react-app 搭建的 react 项目 引入  antd UI  配置按需加载 但是报一下错误 .翻译过了一下 是内嵌JavaScript选项没有开启什么的 大白话就是 les ...

  9. Peter's smokes -poj 2509

    题意:彼得有n支雪茄,每k个烟头可以换一支新雪茄,问彼得最多可以吸多少支雪茄 ? 当时自己做时,错在了直接在while循环开始前,便将雪茄的初始数量给加上了,然而应该是先处理后再加上最终剩余的雪茄数量 ...

  10. kafka-manager配置和使用

    kafka-manager配置 最主要配置就是用于kafka管理器状态的zookeeper主机.这可以在conf目录中的application.conf文件中找到. kafka-manager.zkh ...