使用C#连接并读取MongoDB数据库

阿麦
阿麦
发布时间:2026-10-16| 7人浏览过
原创

本文介绍了如何使用C#编程语言连接MongoDB NoSQL数据库。主要内容包括通过NuGet管理工具添加依赖、在配置文件中设置连接参数,以及编写控制台应用程序实例化客户端并执行文档查询操作。

新建项目

首先打开Visual Studio,新建一个名为 MongoDBDemo 的控制台应用程序项目,用于承载后续的数据库交互代码。

使用NuGet添加MongoDB驱动

第1步:打开NuGet程序包管理器

在项目解决方案的资源管理器中,右键点击项目名称,选择“管理NuGet程序包”,进入程序包管理界面。

第2步:搜索并安装驱动库

在搜索栏中输入关键字“MongoDB”进行搜索。在结果列表中选择由官方或社区维护的 MongoDB.Driver 组件进行安装。该包包含了建立连接和发送指令所需的核心类。

第3步:验证引用

安装完成后,检查项目的“引用”部分,确认已自动添加了相关的DLL文件(如 MongoDB.Bson.dll 和 MongoDB.Driver.dll),确保编译环境正常。

在配置文件中添加MongoDB连接字符串

为了实现代码与配置分离,建议将数据库的连接信息写入项目的配置文件(如 app.config)。连接对象需要包含服务器地址、端口及目标数据库名称等信息。

测试程序:连接与查询

以下为完整的控制台应用程序代码。代码主要逻辑包括:获取配置中的连接串、创建MongoClient实例、获取特定数据库与集合,最后异步查询所有文档并打印输出。

using System;
using System.Collections.Generic;
using System.Configuration;
using MongoDB.Driver;
using MongoDB.Bson;

namespace MongoDBDemo
{
    class Program
    {
        // 全局定义的数据库和客户端实例
        protected static IMongoDatabase _database;
        protected static IMongoClient _client;

        static void Main(string[] args)
        {
            // 定义要操作的集合名称
            const string collectionName = "Student";

            // 1. 读取配置文件中的连接字符串
            string strCon = ConfigurationManager.ConnectionStrings["mongodbConn"].ConnectionString;
            
            // 2. 解析URL以提取数据库名等参数
            var mongoUrl = new MongoUrlBuilder(strCon);
            string databaseName = mongoUrl.DatabaseName;
            
            // 3. 创建MongoClient并获取数据库实例
            _client = new MongoClient(mongoUrl.ToMongoUrl());
            _database = _client.GetDatabase(databaseName);
            
            // 4. 获取具体的集合(Collection),使用BsonDocument接收数据
            var collection = _database.GetCollection<BsonDocument>(collectionName);
            
            // 5. 构建空过滤器,表示查询所有文档
            var filter = new BsonDocument();
            
            // 6. 执行异步查询任务,阻塞等待结果
            var list = Task.Run(async () => await collection.Find(filter).ToListAsync()).Result;
            
            // 7. 遍历结果集并格式化输出
            list.ForEach(p =>
            {
                Console.WriteLine("编号:" + p["stuId"] + ",姓名:" + p["name"].ToString() + 
                                 ",年龄:" + p["age"].ToString() + 
                                 ",课程:" + p["subject"].ToString() + 
                                 ",成绩:" + p["score"].ToString());
            });

            Console.ReadKey();
        }
    }
}

程序运行后,将在控制台打印出数据库中指定集合的所有记录详情。

以上就是使用C#连接并读取MongoDB数据库的详细步骤与方法,更多关于C#操作NoSQL数据库的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。