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. PyQt4将窗口放在屏幕中间

    以下脚本显示了将窗口放在屏幕中间位置的方法. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import QtGui c ...

  2. (三)微信小程序之发送服务通知(模板消息)

    1.后端获取AccessToken返回给微信端 微信小程序端请求后端得到AccessToken   2.后端获取openid返回给微信端   微信小程序端登录请求后端得到openid   3.发送消息 ...

  3. Mybatis中的foreach

    <delete id="deleteByParam"> DELETE FROM YZ_SECURITIES_CURRENCY WHERE ID IN <forea ...

  4. MUI ajax数据请求(list)

    服务器返回格式 { "code": "1001", "message": "查询成功", "data" ...

  5. su命令cannot set groups: Operation not permitted的解决方法

    版权声明:本文由曾倩倩原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/103 来源:腾云阁 https://www.qclo ...

  6. POJ2286 The Rotation Game[IDA*迭代加深搜索]

    The Rotation Game Time Limit: 15000MS   Memory Limit: 150000K Total Submissions: 6325   Accepted: 21 ...

  7. 配置Python实战开发环境

    一.安装Python和easy_install 和pip 新版本的linux下面应该带有这些环境,没有自带的话可以查找google配置. 二.配置python运行的虚拟化环境: 好处:Python的库 ...

  8. 【BZOJ4285】使者 cdq分治+扫描线+树状数组

    [BZOJ4285]使者 Description 公元 8192 年,人类进入星际大航海时代.在不懈的努力之下,人类占领了宇宙中的 n 个行星,并在这些行星之间修建了 n - 1 条星际航道,使得任意 ...

  9. 日期提取函数EXTRACT

    EXTRACT extracts and returns the value of a specified datetime field from a datetime or interval exp ...

  10. yii2中的别名路径,@webroot , @web

    定义在yii\web\Application 的bootstrap中, Yii::setAlias('@webroot', dirname($request->getScriptFile())) ...