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. Java总结:语法基础

    更新时间:2018-1-7 10:34:05 更多请查看在线文集:http://android.52fhy.com/java/index.html Hello World 文件名:HelloWorld ...

  2. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(七):集成 Druid 数据源

    数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏 ...

  3. zmq 自动绑定socket

    def auto_bind(socket): """ auto bind zmq socket :param socket: socket instance :retur ...

  4. Spring整合Mybatis原理简单分析

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" ...

  5. 【Java基础】8、java中的native方法

    native是与C++联合开发的时候用的!java自己开发不用的! 使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用.这些函 ...

  6. JDBC流程

    最近要学习Mybatis的源码,因此对JDBC的使用进行总结. 一.JDBC概述 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java ...

  7. POJ2387(KB4-A)

    Til the Cows Come Home Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 54716   Accepted ...

  8. zsh: command not found cnpm,gulp等命令在zsh终端上报错的问题

    以cnpm包为例,使用 npm install -g cnpm 创建了cnpm包.而在zsh终端上运行cnpm,出现 zsh: command not found: cnpm 的报错.同样的,gulp ...

  9. DOM(JavaScript高程笔记)

    一.节点层次 1.Node类型 if (someNode.nodeType == 1){ // 适用于所有浏览器 alert("Node is an element."); } N ...

  10. django—xadmin中集成富文本编辑器ueditor

    一.安装 pip命令安装,由于ueditor为百度开发的一款富文本编辑框,现已停止维护,如果解释器为python2,则直接pip install djangoueditor 解压包安装,python3 ...