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

本文共 1392 字,大约阅读时间需要 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);

 

转载于:https://www.cnblogs.com/youring2/p/4894536.html

你可能感兴趣的文章
guid
查看>>
Python中出现“TabError: inconsistent use of tabs and spaces in indentation”问题的解决
查看>>
ajax请求
查看>>
js学习总结----DOM增删改和应用
查看>>
希尔伯特矩阵(Hilbert matrix)
查看>>
(20)sopel算法
查看>>
学习总结 javascript 闭包
查看>>
实验吧一个小坑注入
查看>>
【 D3.js 高级系列 — 8.0 】 打标
查看>>
Mac必备软件推荐
查看>>
Android Gson深入分析
查看>>
display:flow-root
查看>>
判读字符串是否为空的全局宏-分享
查看>>
iOS中Block的基础用法
查看>>
mac 终端 使用ftp命令
查看>>
22-reverseString-Leetcode
查看>>
Centos 开机自动联网
查看>>
cocos2dx使用lua和protobuf
查看>>
HDOJ 5630 Rikka with Chess
查看>>
netcore2.1 在后台运行一个任务
查看>>