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

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. 【前端基础系列】理解bind方法使用与实现

    方法描述 bind()方法创建一个新函数,当被调用时,将其this关键字设置为提供的值. 语法说明 fn.bind(thisArg,arg1,arg2,..) 参数说明 thisArg:当绑定函数被调 ...

  2. ab访问并发测试简要步骤

    工具: 1)ab -n 总访问次数  -c 并发用户数  目标url   查询某一个工具是哪个软件包安装的 rpm -qf 2)loadrunner 可视化 3)webbench 制作指定大小页面: ...

  3. 【AtCoder】AGC013

    AGC013 A - Sorted Arrays 直接分就行 #include <bits/stdc++.h> #define fi first #define se second #de ...

  4. jQuery中live函数的替代-【jQuery】

    在老版本的jQuery中,当需要对页面上某个由ajax加载的某片段的页面内容响应事件时,可以使用live函数来响应其事件,比如: $('a').live('click', function() { b ...

  5. 分布式配置 Spark 2.0版本 2.1版本 1.6版本

    apache的各个软件各个版本下载:  http://archive.apache.org/dist/ 1.下载spark. sudo tar -zxf ~/下载/spark-2.0.2-bin-wi ...

  6. Codechef EDGEST 树套树 树状数组 线段树 LCA 卡常

    原文链接http://www.cnblogs.com/zhouzhendong/p/9016579.html 题目传送门 - Codechef EDGEST 题意 给定相同点集上的两棵生成树$T_1$ ...

  7. oracle数据入库出现空格问题

    java做数据入库,不知为什么报如下图错误: debug发现数据是两位,如(FB),但是入库后发现FB后面多了两个空格,检查表发现类型声明是char(4),上网百度,说是char类型会自动补足.参考h ...

  8. 如何用 Python 模糊搜索文件

    一.我的文件在哪里? 1.告诉计算机文件在哪 使用路径描述位置 绝对路径——从根目录写到底 内置模块OS 路径 目录 文件 其他系统操作 2.描述文件的特征 用条件判断来筛选 3.对比后打印文件名 用 ...

  9. js(javaScript)的各种事件触发,以常见为主eg:onclick

    js的各种事件触发,以常见为主eg:onclick1.onclick,点击后触发事件 (1)<h1 onclick="this.innerHTML='谢谢!'">请点击 ...

  10. Hdu-2016解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2016 题目解析:输入n个数据,找出n个数据中最小的数据,将它与第一个数据进行交换.(这里可得看清题意, ...