Framework版本:.Net Framework 4

ConnectionUtil源码参见:https://www.cnblogs.com/threadj/p/10536273.html

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
using ReligionServer.util; namespace ReligionServer.repository {
public class BaseRepository { private MongoCollection collection = null; //将获取集合对象的方法再一次封装
private MongoCollection GetColl<T>(String collectionName) {
return ConnectionUtil.GetCollection<T>(collectionName);
}
//------------------------------------------------------------------------------------------------------------------------------------------- //新增一则记录
public WriteConcernResult Insert<T>(T t, String collectionName) {
return GetColl<T>(collectionName).Insert<T>(t);
} //批量新增
public IEnumerable<WriteConcernResult> InsertBatch<T>(List<T> list, String collectionName) {
return GetColl<T>(collectionName).InsertBatch(typeof(List<T>), list);
} //根据Id查询指定集合名为collectionName的数据
public T FindById<T>(String id,String collectionName) {
collection = GetColl<T>(collectionName);
T t = collection.FindOneByIdAs<T>(ObjectId.Parse(id));
return t;
} //查询符合条件的第一条数据
public T FindOneByQuery<T>(IMongoQuery query, String collectionName) {
collection = GetColl<T>(collectionName);
T t = collection.FindOneAs<T>(query);
return t;
} //查询指定集合中符合Query条件的所有的文档
public List<T> FindList<T>(IMongoQuery query, String collectionName) {
//MongoCursor<T> cursor = ConnectionUtil.GetCollection<T>(collectionName).FindAs<T>(query);
List<T> list = GetColl<T>(collectionName).FindAs<T>(query).ToList<T>();
return list;
} public WriteConcernResult Update<T>(IMongoQuery query, IMongoUpdate update, String collectionName) {
return GetColl<T>(collectionName).Update(query, update);
} //删除集合名为collectionName的且满足query条件的文档
public WriteConcernResult Remove<T>(IMongoQuery query, String collectionName) {
return GetColl<T>(collectionName).Remove(query);
}
}
}

mongo增删改查封装(C#)的更多相关文章

  1. Python pymysql 增删改查封装

    关于pymysql 的增删改查,简单做个封装,方便后面使用直接拿来调用即可. 其中 增删改 的处理其实是一致的,本可以使用统一的方法,但是为了明显区分,这里分开来写了. 直接看代码就即可,如下: # ...

  2. PDO 增删改查封装的类

    Selecting Data 你在mysql_*中是这样做的 <?php $result = mysql_query('SELECT * from table') or die(mysql_er ...

  3. spring学习(四)spring的jdbcTemplate(增删改查封装)

    Spring的jdbcTemplate操作 1.Spring框架一站式框架 (1)针对javaee三层,每一层都有解决技术 (2)到dao 层,使用 jdbcTemplate 2.Spring对不同的 ...

  4. 网络系列之 cookie增删改查(封装)

    什么是cookie 呢?简单来说,这个小东西,会记录你的 浏览器 浏览习惯,或 账号密码等, 以便于提高用户的体验感. 举个例子: 你们有没有发现,去淘宝一些购物网站, 你搜索了 椅子, 挑选了一会椅 ...

  5. python之MySQL学习——简单的增删改查封装

    1.增删改查封装类MysqlHelper.py import pymysql as ps class MysqlHelper: def __init__(self, host, user, passw ...

  6. sql增删改查封装

    App.config文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> ...

  7. mongo 增删改查

    1. use foobar2. show dbs3. show collections4. db.system.indexes.find()5. db.persons.find()6. db.pers ...

  8. ADO.NET ORM数据库增删改查封装(工具一)

    约束 public abstract class BaseModel { public int Id { get; set; } } 连接字符串 public static readonly stri ...

  9. Python cx_oracle自动化操作oracle数据库增删改查封装,优化返回查询数据

    # coding=utf-8 import cx_Oracle import os import json os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_C ...

随机推荐

  1. 上传文件提示IO Error

    百度查到的解决办法 http://www.wang0214.com/news/466.html 作者:深圳网站建设 原因: Asp.net中,上传文件的默认大小是4096 KB,也就是4M,不过你可以 ...

  2. (转)关于android设备管理器的一些分析

    转自http://bbs.pediy.com/showthread.php?t=183692 想必很多人都知道轰动一时android木马OBAD,该木马利用android设备管理器的漏洞,当用户激活设 ...

  3. 使用CDN的网络访问过程

    CDN是指内容分发网络,在网络各处架设节点服务器,当用户访问时,CDN系统会根据网络流量.到用户的距离等因素将请求导向离用户最近的节点上. 访问过程是: 1.用户向浏览器提供要访问的域名. 2.浏览器 ...

  4. Android UsageStats:应用根据启动次数、启动时间、应用名称排序

    Android 7.1.1 developers/samples/android/system/AppUsageStatistics/Application/src/main/java/com/exa ...

  5. 生命游戏/Game of Life的Java实现

    首先简单介绍一下<生命游戏> 生命游戏其实是一个零玩家游戏.它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞.一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死 ...

  6. bond的操作方式

    本文转自网上,版权归属原作者,原文地址 :https://www.cnblogs.com/5201351/p/4898342.html 操作系统:CentOS Linux release 7.1.15 ...

  7. node中的对象

    1. class的概念 定义一个class,属性都是private,方法都是public. Hello.js: 使用class index.js: 2. 单例类 使用exports而不是module. ...

  8. go练习5--生成md5

    import "crypto/md5" import "encoding/hex" //go 生成 md5 func T4_1() { m := md5.New ...

  9. CentOS oracle Client客户端安装

    CentOS客户端安装方法如下: 1.安装客户端 rpm -ivh /当前目录/oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm rpm - ...

  10. Google浏览器提示用户要允许网站允许flash!

    开发的flash播放器,在谷歌浏览器上播放不了,需要提示用户手动开启允许网站运行flash: <script type="text/javascript"> if (w ...