博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在C#中使用官方驱动操作MongoDB
阅读量:6714 次
发布时间:2019-06-25

本文共 1418 字,大约阅读时间需要 4 分钟。

MongoDB的官方驱动下载地址:

目前最新的版本是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:

  1. 使用 BsonDocument 模型
  2. 使用自定义的实体模型

如果我们的文档结构比较复杂,或者定义为实体模型比较困难,那么推荐使用BsonDocument模型。

如果我们的文档结构清晰,存储的字段也是固定的,那么推荐使用自定义的实体模型。实体对象的格式如下:

public class Entity{    public ObjectId Id { get; set; }    public string Name { get; set; }}

我们在获取Collection引用的时候,需要提供一个文档类型:

var collection = db.GetCollection
("entities");

CURD操作

在有了Collection之后,我们可以写一个CURD的例子:

var collection = db.GetCollection
("entities");var entity = new Entity { Name = "Tom" };collection.Insert(entity);var id = entity.Id;var query = Query
.EQ(e => e.Id, id);entity = collection.FindOne(query);entity.Name = "Dick";collection.Save(entity);var update = Update
.Set(e => e.Name, "Harry");collection.Update(query, update);collection.Remove(query);

 

本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/p/4894536.html,如需转载请自行联系原作者

你可能感兴趣的文章
[PHP] 通用网关接口CGI 的运行原理
查看>>
phoenixframe自己主动化平台在Linux环境下运行用例的说明
查看>>
Linux:sheel脚本for的用法,及日期参数+1day用法
查看>>
GetKeyState(), GetAsyncKeystate(), GetKeyboardSlate()
查看>>
函数式编程
查看>>
spring boot mybatis没有扫描jar中的Mapper接口
查看>>
ijkPlayer 集成
查看>>
Python 文件 writelines() 方法
查看>>
背水一战 Windows 10 (76) - 控件(控件基类): Control - 基础知识, 焦点相关, 运行时获取 ControlTemplate 和 DataTemplate 中的元素...
查看>>
比特币的区块结构解析
查看>>
图像滤镜艺术---Glow Filter发光滤镜
查看>>
[离散时间信号处理学习笔记] 14. 多采样率信号处理
查看>>
create-react-app 引入 antd 及 解决 antd 样式无法显示的bug
查看>>
获取图形验证码
查看>>
值得 .NET 开发者了解的15个特性
查看>>
Fresco-Facebook的图片加载框架的使用
查看>>
Android Runtime Stats
查看>>
InstallShield卸载状态
查看>>
CentOS7 修改主机名
查看>>
小工具:天气查询 Vs自定义设置 DevGridControl中GridView排序问题 小工具:火车票查询 小工具:邮件发送 小工具:截图&简单图像处理...
查看>>