文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在C#中使用MongoDB数据库

2024-04-02 19:55

关注

一、添加MongoDB引用

想要在C#中使用MongoDB,首先安装支持MongoDB的C#版的驱动。

利用MongoDB官方发布的C#驱动,可通过网络下载或nuget安装,得到MongoDB相关的dll,添加到项目中引用。

https://docs.mongodb.com/drivers/csharp/

通过NuGet方式添加

第一步:在项目中右键,选择管理NuGet管理包

第二步:搜索MongoDB,选择MongoDB.Driver添加,我这里已经添加过了所以没有添加按钮

通过这两步,会在项目中自动添加MongoDB.Bson(序列化、Json相关)、MongoDB.Driver(驱动程序)、MongoDB.Driver.Core等引用

二、使用方法

1、连接数据库

在连接数据库之前,请确保MongoDB数据库服务已经启动。

using MongoDB.Bson;
using MongoDB.Driver;

//1.连接字符串(mongodb数据库默认端口为:27017)
string connStr = "mongodb://127.0.0.1:27017";

//2.创建连接MongoClient实例实际上代表了一个到数据库的连接池,即使有多个线程,也只需要一个MongoClient类的实例
var client = new MongoClient(connStr);

//3.使用client的GetDatabase方法获取数据库,即使该数据库不存在,也会自动创建;
IMongoDatabase db = client.GetDatabase("test");

2、操作数据

三个对象, client是连接数据库的客户端, database对应库, collection是对象集合。对对象的操作是针对collection集合。

//4.获取数据集 collection;BsonDocument是在数据没有预先定义好的情况下使用的。
IMongoCollection<BsonDocument> collection = db.GetCollection<BsonDocument>("runoob1");

//5.插入一条数据;
var document = new BsonDocument { { "id", 2 }, { "name", "aa" } };
collection.InsertOne(document);


//6.查询数据1
var res = collection.Find(new BsonDocument()).ToList(); //查询整个数据集
foreach (var item in res)
{
    Console.WriteLine(item);
}
//6.查询数据2
var res_a = collection.Find(new BsonDocument()).FirstOrDefault(); //查询当前数据集的第一条数据,没有则返回null
Console.WriteLine(res_a);


//6.升序降序查询3:
var sort_ascending = Builders<BsonDocument>.Sort.Ascending("id"); //根据id升序
var sort_descending = Builders<BsonDocument>.Sort.Descending("id"); //根据id降序
var res_c = collection.Find(Builders<BsonDocument>.Filter.Lt("id", 10) & Builders<BsonDocument>.Filter.Gte("id", 2)).Limit(50).Sort(sort_ascending).ToCursor(); //查询id小于10,大于2的数据
foreach (var item in res_c.ToEnumerable())
{
    Console.WriteLine(item);
}

//7.更新数据,更新支持添加新的field, 如:
collection.UpdateMany(Builders<BsonDocument>.Filter.Eq("id", 2), Builders<BsonDocument>.Update.Set("name", "hello"));   //将id字段为2的名字都改为“hello”;

//8.删除
collection.DeleteMany(Builders<BsonDocument>.Filter.Eq("id", 2));

mongodb对程序员是极友好的, 可以动态变化的结构, 让程序员不再害怕频繁变动的需求。

到此这篇关于C#使用MongoDB的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯