1. 下载驱动,最好使用 NuGet 下载,直接搜索MongoDB;

2. 引用相关驱动

3. 部分测试代码,主要是针对MongoDB的GridFS 文件存储来用

 using Mongo.Model;
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.GridFS;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Web; namespace Mongo.Helper
{
public static class MongoDBHelper
{ public static MongoClient client = new MongoClient("mongodb://localhost:27017");
public static IMongoDatabase db = client.GetDatabase("dzdaTest");//获取需要操作数据库
public static void Add(Model.UserInfo user)
{
var collects = db.GetCollection<Model.UserInfo>("user");//获取需要操作的集合
collects.InsertOne(user);
} public static List<UserInfo> FindAll()
{
List<UserInfo> lis = new List<UserInfo>();
var collects = db.GetCollection<UserInfo>("user");
var filter = new BsonDocument();
using(var cursor = collects.Find(filter).ToCursor())//查询结果转化为类似游标的类型
{
while (cursor.MoveNext())
{
foreach (UserInfo item in cursor.Current)
{
lis.Add(item);
}
}
}
return lis;
} /// <summary>
/// 上传图片
/// </summary>
/// <param name="name"></param>
/// <param name="source"></param>
/// <returns></returns>
public static ObjectId UploadImg(string name, byte[] source)
{
var bucket = new GridFSBucket(db);//初始化GridFS
return bucket.UploadFromBytes(name, source);
}
/// <summary>
/// 上传图片
/// </summary>
/// <param name="name"></param>
/// <param name="source"></param>
/// <returns></returns>
public static ObjectId UploadImg(string name, Stream source)
{
var bucket = new GridFSBucket(db);
return bucket.UploadFromStream(name, source);
} public async static Task<ObjectId> UploadImgAsync(string name, Stream source)
{
var bucket = new GridFSBucket(db);
return await bucket.UploadFromStreamAsync(name, source);
}
/// <summary>
/// 查询图片
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static Stream FindImg(string id)
{
var bucket = new GridFSBucket(db);
ObjectId objId= new ObjectId(id);//通过ObjectId查询图片
return bucket.OpenDownloadStream(objId);
} /// <summary>
/// 查询图片
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static byte[] FindImgWithByte(string id)
{
var bucket = new GridFSBucket(db);
ObjectId objId = new ObjectId(id);
return bucket.DownloadAsBytes(objId);
}
}
}

    

.net 操作MongoDB 基础的更多相关文章

  1. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  2. MongoDB基础入门003--使用官方驱动操作mongo,C#

    本篇先简单介绍一下,使用官方驱动来操作MongoDB.至于MongoDB原生的增删改查语句,且等以后再慢慢学习. 一.操作MongoDB的驱动主要有两个 1.官方驱动:https://github.c ...

  3. 【mongoDB基础篇①】安装与常用操作语句

    简述 mongoDB与redis同为noSql数据库,但是redis为kv数据库(key/value),而mongoDB为文档型数据库存储的是文档(Bson->json的二进制化).内部执行引擎 ...

  4. koa 基础(二十一)nodejs 操作mongodb数据库 --- 查询数据

    1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...

  5. koa 基础(二十)nodejs 操作mongodb数据库 --- 新增数据

    1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...

  6. Python 操作 mongodb 数据库

    原文地址:https://serholiu.com/python-mongodb 这几天在学习Python Web开发,于 是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样 ...

  7. mongodb基础系列——数据库查询数据返回前台JSP(一)

    经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了. 同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题. 做了一个 ...

  8. MongoDB 基础(2019年开篇)

    MongoDB基础知识: 1.什么是MongoDB NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL". MongoDB是一个介于关系数据库和非关系数据库之 ...

  9. MongoDB基础学习

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

随机推荐

  1. Tomcat学习总结(6)——Tomca常用配置详解

    注:Tomcat 8需要JRE7以上的JRE 1. Tomcat环境变量设置 1.1 Java环境变量设置 右键计算机—属性—高级系统设置—环境变量,在”系统环境变量”,设置如下三个变量(如果变量已有 ...

  2. ActiveMQ Pub/Sub版的HelloWorld

    1. pom.xml 这个和上一篇是一样的: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...

  3. 获取CheckBox的Text值

    有在网上看到一个问题,就是尝试去获取Checkbox的值.技术难度并不高,不过有时间,还是做做练习.创建一个网页: 写click事件,在CheckBox被选取时,才去获取CheckBox的Text的值 ...

  4. Js的substring和C#的Substring

    Js的substring 语法: 程序代码String.substring(start, end) 说明:返回一个从start开始到end(不包含end)的子字符串. 示例: 程序代码var str= ...

  5. IDE MAC下的快捷键,自定义代码块。

    快捷键 参考博客:http://blog.csdn.net/iguiyi/article/details/51853728 alt+f7查找在哪里使用 相当于eclipse的ctrl+shift+G ...

  6. Tomcat Connector原理

    Tomcat工作原理 要了解其中的工作原理我们首先看如下两个图 Tomcat基本架构图: Tomcat请求示意图: 客户端的请求通过Connector接受处理后在到容器Engine->Host- ...

  7. SpringIOC的小例子

    IOC IOC--Inversion of Control即控制反转,常常和DI--依赖注入一起被提到. 核心是为了解除程序之间的耦合度. 那么什么样的代码是耦合度高的呢? 假如有个人现在去买苹果 i ...

  8. NIO,AIO,BIO

    同步和异步:同步和异步关注的是消息通信机制, 同步:就是在发出一个“调用”时,在没有得到结果之前,该“调用”就不返回,但是一旦调用返回,就得到返回值了;换句话说:就是由“调用者”主动等待“调用”结果 ...

  9. CSS canvas 捕捉视频video元素截图

    video元素介绍: http://www.runoob.com/html/html5-video.html https://developer.mozilla.org/zh-CN/docs/Web/ ...

  10. python MRO及c3算法

    1. 了解python2和python3类的区别 python2在2.3之前使用的是经典类, 2.3之后, 使用的是新式类 2. 经典类的MRO 树形结构的深度优先遍历 -> 树形结构遍历 cl ...