mongo增删改查封装(C#)
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#)的更多相关文章
- Python pymysql 增删改查封装
关于pymysql 的增删改查,简单做个封装,方便后面使用直接拿来调用即可. 其中 增删改 的处理其实是一致的,本可以使用统一的方法,但是为了明显区分,这里分开来写了. 直接看代码就即可,如下: # ...
- PDO 增删改查封装的类
Selecting Data 你在mysql_*中是这样做的 <?php $result = mysql_query('SELECT * from table') or die(mysql_er ...
- spring学习(四)spring的jdbcTemplate(增删改查封装)
Spring的jdbcTemplate操作 1.Spring框架一站式框架 (1)针对javaee三层,每一层都有解决技术 (2)到dao 层,使用 jdbcTemplate 2.Spring对不同的 ...
- 网络系列之 cookie增删改查(封装)
什么是cookie 呢?简单来说,这个小东西,会记录你的 浏览器 浏览习惯,或 账号密码等, 以便于提高用户的体验感. 举个例子: 你们有没有发现,去淘宝一些购物网站, 你搜索了 椅子, 挑选了一会椅 ...
- python之MySQL学习——简单的增删改查封装
1.增删改查封装类MysqlHelper.py import pymysql as ps class MysqlHelper: def __init__(self, host, user, passw ...
- sql增删改查封装
App.config文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> ...
- mongo 增删改查
1. use foobar2. show dbs3. show collections4. db.system.indexes.find()5. db.persons.find()6. db.pers ...
- ADO.NET ORM数据库增删改查封装(工具一)
约束 public abstract class BaseModel { public int Id { get; set; } } 连接字符串 public static readonly stri ...
- Python cx_oracle自动化操作oracle数据库增删改查封装,优化返回查询数据
# coding=utf-8 import cx_Oracle import os import json os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_C ...
随机推荐
- 上传文件提示IO Error
百度查到的解决办法 http://www.wang0214.com/news/466.html 作者:深圳网站建设 原因: Asp.net中,上传文件的默认大小是4096 KB,也就是4M,不过你可以 ...
- (转)关于android设备管理器的一些分析
转自http://bbs.pediy.com/showthread.php?t=183692 想必很多人都知道轰动一时android木马OBAD,该木马利用android设备管理器的漏洞,当用户激活设 ...
- 使用CDN的网络访问过程
CDN是指内容分发网络,在网络各处架设节点服务器,当用户访问时,CDN系统会根据网络流量.到用户的距离等因素将请求导向离用户最近的节点上. 访问过程是: 1.用户向浏览器提供要访问的域名. 2.浏览器 ...
- Android UsageStats:应用根据启动次数、启动时间、应用名称排序
Android 7.1.1 developers/samples/android/system/AppUsageStatistics/Application/src/main/java/com/exa ...
- 生命游戏/Game of Life的Java实现
首先简单介绍一下<生命游戏> 生命游戏其实是一个零玩家游戏.它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞.一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死 ...
- bond的操作方式
本文转自网上,版权归属原作者,原文地址 :https://www.cnblogs.com/5201351/p/4898342.html 操作系统:CentOS Linux release 7.1.15 ...
- node中的对象
1. class的概念 定义一个class,属性都是private,方法都是public. Hello.js: 使用class index.js: 2. 单例类 使用exports而不是module. ...
- go练习5--生成md5
import "crypto/md5" import "encoding/hex" //go 生成 md5 func T4_1() { m := md5.New ...
- CentOS oracle Client客户端安装
CentOS客户端安装方法如下: 1.安装客户端 rpm -ivh /当前目录/oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm rpm - ...
- Google浏览器提示用户要允许网站允许flash!
开发的flash播放器,在谷歌浏览器上播放不了,需要提示用户手动开启允许网站运行flash: <script type="text/javascript"> if (w ...