在C#中使用官方驱动操作MongoDB
MongoDB的官方驱动下载地址:https://github.com/mongodb/mongo-csharp-driver/releases
目前最新的版本是2.10,支持.NET 4.5以上。由于我现在的程序还在.NET4.0上面构建,所以这里使用1.10.1版本。
添加引用
解压下载到的驱动,然后在我们的程序中添加引用:
MongoDB.Bson.dll
MongoDB.Driver.dll
然后在代码中添加Using:
using MongoDB.Bson; using MongoDB.Driver;
创建Client、Server、Database
var connectionString = "mongodb://localhost:27017"; var client = new MongoClient(connectionString); var server = client.GetServer(); var db = server.GetDatabase("mydb");
connectionString可以从配置文件中获取。
client对象是线程安全的,那么,我们可以把它存到一个全局的变量中。
有了db对象,我们就可以进行访问了。
使用Collection
Collection是文档(document)的集合,可以理解为我们的数据表。而每一个文档就是我们的一行数据。在MongoDB的驱动中,我们有两种方式来使用Collection:
- 使用 BsonDocument 模型
- 使用自定义的实体模型
如果我们的文档结构比较复杂,或者定义为实体模型比较困难,那么推荐使用BsonDocument模型。
如果我们的文档结构清晰,存储的字段也是固定的,那么推荐使用自定义的实体模型。实体对象的格式如下:
public class Entity {public ObjectId Id { get; set; }public string Name { get; set; } }
我们在获取Collection引用的时候,需要提供一个文档类型:
var collection = db.GetCollection<Entity>("entities");
CURD操作
在有了Collection之后,我们可以写一个CURD的例子:
var collection = db.GetCollection<Entity>("entities");var entity = new Entity { Name = "Tom" }; collection.Insert(entity); var id = entity.Id;var query = Query<Entity>.EQ(e => e.Id, id); entity = collection.FindOne(query);entity.Name = "Dick"; collection.Save(entity);var update = Update<Entity>.Set(e => e.Name, "Harry"); collection.Update(query, update);collection.Remove(query);
作者:齐飞(youring2@gmail.com)
原文链接:http://www.qeefee.com/article/000559
如果认为此文对您有帮助,别忘了支持一下哦!
在C#中使用官方驱动操作MongoDB相关推荐
- 使用Golang驱动操作MongoDB
微信公众号:运维开发故事,作者:wanger 上篇文章我们介绍了使用pymongo对MongoDB进行CRUD,本篇将介绍使用Golang驱动操作MongoDB 安装MongoDB驱动程序 mkdr ...
- 使用golang驱动操作MongoDB数据库
安装MongoDB驱动程序 mkdr mongodb cd mongodb go mod init go get go.mongodb.org/mongo-driver/mongo 连接MongoDB ...
- MongoDB学习笔记~官方驱动的原生Curd操作
回到目录 MongoDB的官方C#驱动,让我们使用起来也很方便,但对于Linq开发人员来说,可能有些不了解,所以,我还是将官方驱动进行了二次封装,而对于一个比较个性化的mongo操作,使用我封装的也很 ...
- golang操作mongodb的驱动mongo-go-driver的事务支持和访问控制(mongodb4.0)
关注公众号 风色年代(itfantasycc) 300G微服务资料等你拿! 作者: sdghchj 本文链接:golang操作mongodb的驱动mongo-go-driver的事务支持和访问控制_s ...
- 使用mongoose 在 Node中操作MongoDB数据库
MongoDB 关系型和非关系型数据库 关系型数据库(表就是关系,或者说表与表之间存在关系). 所有的关系型数据库都需要通过sql语言来操作 所有的关系型数据库在操作之前都需要设计表结构 而且数据表还 ...
- golang常用库之-mgo.v2包、MongoDB官方go-mongo-driver包、七牛Qmgo包 | go操作mongodb、mongodb bson
文章目录 golang常用库之-mgo.v2包.MongoDB官方go-mongo-driver包.七牛Qmgo包 | go操作mongodb.mongodb bson 一.[不推荐]mgo.v2包 ...
- 快速掌握mongoDB(五)——通过mongofiles和C#驱动操作GridFS
1 GridFS简介 当前Bson能存储的最大尺寸是16M,我们想把大于16M的文件存入mongoDB中怎么办呢?mongoDB提供的GridFS就是专门做这个的.使用GridFS存储大文件时,文件被 ...
- 58 Node.js中操作mongoDB数据库
技术交流 QQ 群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder 的程序人生 1.数据库概述及环境搭建 1.1 为什么要使用数据库 动态网站中的数据都是存储在数据 ...
- Java操作MongoDB数据库(简明版)
除了通过启动 mongo 进程进如 Shell 环境访问数据库外,MongoDB 还提供了其他基于编程语言的访问数据库方法.MongoDB 官方提供了 Java 和 Python 语言的驱动包,利用这 ...
最新文章
- Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
- vMA学习笔记之一:将vMA加入域
- 代码开源!激光雷达 SLAM 的闭环检测:OverlapNet
- Java 内存模型 与 高效并发
- 训练日志 2019.1.25
- qmc0文件怎么转换mp3_怎么用手机把手机里的视频转换成mp3音乐?(手机,不是电脑)...
- 如何选择物业管理软件,五大误区需要避免
- 计算机系统与itunes不兼容,解决XP系统安装iTunes的要求更改更高版本的不兼容情况...
- X轴间隔显示-长江水位
- Xcode slicing 精解
- 金士顿 DT101 G2 8GU盘量产全过程图解(群联篇)(2)
- 开发一个app多少钱?app开发费用明细、app开发成本计算
- 安全生产计算机考试成绩查询,安全生产在线模拟考试成绩查询
- .nav ul .mall a:hover 是什么意思
- 那时的回忆~九州幻想!
- rdp远程Windows10连接不上的解决方案
- 【转】电脑电源如何安装 (清晰大图详解电脑组装时各接口线缆细节)
- Unity3D 学习 代码
- CWnd::WindowProc的理解
- 前端类库开发最佳实践
热门文章
- 中国高校最强超算!上算引力波,下算光量子
- ACM Fellow发文抨击「同行评审」作弊:有「门道」的作者带飞,垃圾论文也能轻松中顶会...
- 看完苹果这场最新发布会,我只能说:太sao了
- 小马智行L4无人车今日量产下线,这比融资更具里程碑意义
- 技术宅硬核跨年,DIY墨水屏日历:自动刷新位置、天气,随机播放2000多条「毒鸡汤」| 开源...
- 你的AI模型有哪些安全问题,在这份AI攻防”词典”里都能查到
- 从挂起到实现,你知道内核是如何实现的?
- c++重载后置++和--
- DotNetBar的使用—(界面风格)
- JAVA修饰符类型(public,protected,private,friendly)