C# / .Net Core 访问MongoDb库

话不多说直接上代码

连接字符串:

{
  "AppSettings": {
    "mongodb": "mongodb://用户名:密码@IP地址:端口号"
  }
}

主体代码:

 1 using ABCDEFG.Config;
 2 using MongoDB.Driver;
 3 using System;
 4 using System.Collections.Generic;
 5 using System.Linq.Expressions;
 6 using System.Text;
 7
 8 namespace Mongodb
 9 {
10     public class MongoContext
11     {
12         public MongoContext()
13         {
14             Client = new MongoClient(ABCDEFG..GetAppSetting("mongodb"));
15         }
16
17         public MongoContext(string connectionName)
18         {
19             Client = new MongoClient(MengTConfig.GetAppSetting(connectionName));
20         }
21
22         private MongoClient Client { get; set; }
23
24         private IMongoDatabase DataBase { get => Client.GetDatabase("MengTLog"); }
25
26         public IMongoCollection<T> DbSet<T>() where T : IMongoModel => DataBase.GetCollection<T>("MengTLog.Logger");
27
28     }
29
30     public static class MongoExtend
31     {
32         public static void Add<T>(this IMongoCollection<T> collenction, T Model) where T : IMongoModel
33                   => collenction.InsertOne(Model);
34
35         public static void AddList<T>(this IMongoCollection<T> collenction, List<T> Model) where T : IMongoModel
36                  => collenction.InsertMany(Model);
37
38         /// <summary>
39         /// 查找第一个
40         /// </summary>
41         public static T FirstOrDefault<T>(this IMongoCollection<T> collenction,Expression<Func<T, bool>> expression) where T : IMongoModel
42         {
43             if (expression == null) { throw new ArgumentNullException("参数无效"); }
44             return collenction.Find(expression).FirstOrDefault();
45         }
46
47         /// <summary>
48         /// 查找符合数据列表
49         /// </summary>
50         public static List<T> FindToList<T>(this IMongoCollection<T> collenction, Expression<Func<T, bool>> expression) where T : IMongoModel
51         {
52             if (expression == null) { throw new ArgumentNullException("参数无效"); }
53             return collenction.Find(expression).ToList();
54         }
55
56         /// <summary>
57         /// 删除全部匹配数据
58         /// </summary>
59         public static void Delete<T>(this IMongoCollection<T> collenction, Expression<Func<T, bool>> expression) where T : IMongoModel
60         {
61             if (expression == null) { throw new ArgumentNullException("参数无效"); }
62             collenction.DeleteManyAsync(expression);
63         }
64
65
66         /// <summary>
67         /// 删除一个
68         /// </summary>
69         public static void DeleteOne<T>(this IMongoCollection<T> collenction, Expression<Func<T, bool>> expression) where T : IMongoModel
70         {
71             if (expression == null) { throw new ArgumentNullException("参数无效"); }
72             collenction.DeleteOneAsync(expression);
73         }
74     }
75 }

IMongoModel:

 1 using MongoDB.Bson;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Text;
 5
 6 namespace Mongodb
 7 {
 8     public partial class IMongoModel
 9     {
10         /// <summary>
11         /// 基础ID
12         /// </summary>
13         public ObjectId _id { get; set; }
14     }
15 }

值得注意的是:需引用MongoDB.BSon与MongoDB.Driver

VS2017若在引用包后,还是无法找到命名空间,重启VS即可。

ABCDEFG.GetAppSetting("mongodb"));读取配置文件

时间: 2024-08-30 01:22:47

C# / .Net Core 访问MongoDb库的相关文章

net Core 通过 Ef Core 访问、管理Mysql

net Core 通过 Ef Core 访问.管理Mysql 本文地址:http://www.cnblogs.com/likeli/p/5910524.html 环境 dotnet Core版本:1.0.0-preview2-003131 本文分为Window环境和Mac Os X环境. 相关资源下载 Visual Studio Code:https://code.visualstudio.com DotNet Core:https://dotnet.github.io/ MySql.Data.

C#访问MongoDB数据

开始: 先下载个C#的驱动.MongoDB提供各种主流与非主流预言的开发驱动. C# Driver 下载地址:猛击这里 CSharp Driver Tutorial:猛击这里 下载文件安装或者解压缩包 如果您是安装,请到安装位置寻找,如果是ZIP压缩包,解压缩包得到如下两个文件: MongoDB.Bson.dll              :序列化.Json相关 MongoDB.Driver.dll             :我们的驱动 没了,只有这两个文件是我们的最爱. 继续: 新建一个C#的

使用Spring访问Mongodb的方法大全——Spring Data MongoDB

1.概述 Spring Data MongoDB 是Spring框架访问mongodb的神器,借助它可以非常方便的读写mongo库.本文介绍使用Spring Data MongoDB来访问mongodb数据库的几种方法: 使用Query和Criteria类 JPA自动生成的查询方法 使用@Query 注解基于JSON查询 在开始前,首先需要引入maven依赖 1.1 添加Maven的依赖 如果您想使用Spring Data MongoDB,则需要将以下条目添加到您的pom.xml文件中: <de

Python访问MongoDB数据库

#encoding: utf-8 __author__ = 'Administrator' #import pymongo from pymongo import MongoClient,GEO2D import sqlite3 import sys import psycopg2 import ppygis import cx_Oracle import datetime reload(sys) #中文错误 sys.setdefaultencoding( "utf-8" ) #mon

Web---JSTL(Java标准标签库)-Core核心标签库、I18N国际化、函数库

前面为JSTL中的常用EL函数,后面的为具体演示实例! JSTL简介: JSTL(Java Standard Tag Library) –Java标准标签库. SUN公司制定的一套标准标签库的规范. JSTL标签库,是由一些Java类组成的. JSTL组成: JSTL –Core 核心标签库. 重点 JSTL – I18N - 国际化标签库.Internationalization- I18N JSTL – SQL – 数据库操作标签(有悖于MVC设计模式),现在都不用这个. JSTL - Fu

ImageSharp .NET Core跨平台图形处理库

ImageSharp 是支持.NET Core跨平台图形处理库,ImageSharp是ImageProcessor 的.NET Core跨平台实现. ImageSharp 支持如下操作: 调整大小,裁剪,翻转,旋转,边缘检测等. 支持BMP,PNG,GIF,JPEG 编码器. EXIF 读取和针对JPEG写. 暂时还不支持Drawing ,即无法支持验证码及水印等操作. GitHub:https://github.com/JimBobSquarePants/ImageSharp 目前版本为1.0

nodejs中使用monk访问mongodb

mongodb 安装mongodb 我觉得还是用mannual install靠谱一点儿:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/ 启动mongodb $ mongod 连接mogodb $ mongo mongo> use monk-app mongo> db.products.insert({"name":"apple juice", "descript

VisualSVN Server安装后,TortoiseSVN远程无法访问版本库。

访问https://servername/svn/trunk无效,说神马名字有效,但是找不到数据神马的.网上有人说版本库没有设置有访问权限的用户.不对,我的user设置的妥妥的.在NetWork标签里查看自己的ServerName也没问题.用IP访问也不行.然后检查Certificate标签,发现是自己的CA证书不对,因为改过计算机名,证书的颁发者是之前的计算机名.VisualSVN Server自带创建证书功能,然后只需把新建的证书保存到就可以了. 开始-运行-certmgr.msc打开证书管

Python 使用pymongo操作mongodb库

1,安装python3.5 如果python还没有安装,可以直接用yum安装, [python] view plain copy # 不过安装的是2.6 version yum install -y python 源码安装3.5 [python] view plain copy wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz tar -xvf Python-3.5.0.tgz cd Python-3.5.0 ./conf