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

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. COOKIE和SESSION有什么区别?

    1,位置--session 在服务器端,cookie 在客户端(浏览器)2,形式--session 默认被存在在服务器的一个文件里(session 可以放在 文件.数据库.或内存中都可以),cooki ...

  2. JavaScript动态加载CSS和JS文件

    var dynamicLoading = { css: function(path){ if(!path || path.length === 0){ throw new Error('argumen ...

  3. ui-router实现返回上一页功能

    angular.module('ConsoleUIApp', ['ui.router','ui.bootstrap']) .config(function ($stateProvider, $urlR ...

  4. Codeforces 982E Billiard exgcd

    Billiard 枚举终点, 对于每一个终点一共有四种周期的相遇方式, 枚举一下取最小的时间. #include<bits/stdc++.h> #define LL long long # ...

  5. Python mysql sql基本操作

    一.创建数据库,编码格式为utf-8 create database s12day9 charset utf8; 二.表操作 1.创建表 use s12day9; create table stude ...

  6. 系统环境变量(就是不需要切换目录,敲击“python”就可以进入编码器)

    1.右击我的电脑,选择属性,选择“高级系统设置” 2.选择高级,选择环境变量 3.在系统变量中找到path,点击编辑.然后新建,将python的路径复制进去,点击确定.

  7. 20165235 实验一 Java开发环境的熟悉

    20165235 实验一 Java开发环境的熟悉 课程:JAVA程序设计 姓名:祁瑛 学号:20165235 指导老师:娄嘉鹏 实验日期: 2018.4.2 实验内容:java开发环境的熟悉 一,实验 ...

  8. Zookeeper的概述、安装部署及选举机制

    一.Zookeeper概述 1.Zookeeper是Hadoop生态的管理者,它致力于开发和维护开源服务器,实现高度可靠的分布式协调. 2.Zookeeper的两大功能: (1)存储数据 (2)监听 ...

  9. Codeforces 1082D Maximum Diameter Graph (贪心构造)

    <题目链接> 题目大意:给你一些点的最大度数,让你构造一张图,使得该图的直径最长,输出对应直径以及所有的边. 解题分析:一道比较暴力的构造题,首先,我们贪心的想,要使图的直径最长,肯定是尽 ...

  10. Nowcoder contest 392 I 逛公园 (无向图割边模板)

    <题目链接> 题目描述: 月月和华华一起去逛公园了.公园很大,为了方便,可以抽象的看成一个N个点M条边的无向连通图(点是景点,边是道路).公园唯一的入口在1号点,月月和华华要从这里出发,并 ...