Fork me on GitHub

在微服务框架Demo.MicroServer中添加对MongoDB的支持

前提说明:

本编文章所属的微服务框架代码和对mongo支持的代码全部放在github,地址:https://github.com/PeyShine/Demo.MicroServer
另外,如果不知道怎么安装mongodb可以看这篇:https://www.cnblogs.com/peyshine/p/12876471.html
 
1.在数据仓储层Demo.MicroServer.Repository,添加Mongo依赖包:dotnet add package MongoDB.Driver
 
2.编写mongo常用的一些接口以及接口的实现,后续可以根据实际开发情况再进行更多接口的封装
构造函数中的mongodb的配置文件全部读取Apollo配置中心
 
3.在具体使用mongo的微服务实例的Startup文件ConfigureServices中向容器添加接口与实现
1
services.AddTransient(typeof(IMongoService), typeof(MongoService));

4.编写与mongoDB交互的测试接口

1
2
3
4
5
6
7
8
9
10
11
12
13
/// <summary>
/// 测试从mongodb中获取用户数量
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<long> GetMongoUserCount()
{
    var list = new List<FilterDefinition<user_mongo>>();
    list.Add(Builders<user_mongo>.Filter.Exists("user_id", true));
    var filter = Builders<user_mongo>.Filter.And(list);
 
     return await _mongoService.CountAsync(filter, "users");
}

5.在mongo中准备两条测试数据

6.在swagger中调用接口来测试

最后看到输出结果为数量为2,和添加的数量一致。

posted @   沛山  阅读(528)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示