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

 更新时间:2022年03月07日 15:59:34   作者:.NET开发菜鸟  
这篇文章介绍了使用C#连接并读取MongoDB数据库的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

上篇文章中,讲解了MongoDB的基本操作,包括增、删、改、查,但是这些操作都是在命令行模式下进行的,这篇文章中讲解如何使用C#程序连接到MongoDB数据库,并且读取里面的文档。

一、新建项目

新建控制台程序,命名为“MongoDBDemo”

二、使用NuGet添加MongoDB

1、在项目上右键,选择“管理NuGet程序包”

2、在弹出的对话框中输入“MongoDB”并搜索

3、这里选择安装MongoDB.Driver,安装过程如下:

4、查看引用

安装完成以后,查看项目的引用,发现MongoDB使用到的几个dll文件都已经添加到引用中。

三、在配置文件中添加MongoDB数据库的连接字符串

连接到MongoDB的test数据库,配置文件配置如下所示:

四、测试程序

实例代码如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MongoDB.Driver;
using MongoDB.Bson;
using System.Configuration;

namespace MongoDBDemo
{
    class Program
    {
        // 定义接口
        protected static IMongoDatabase _database;
        // 定义客户端
        protected static IMongoClient _client;
        static void Main(string[] args)
        {
            // 定义要查询的集合名称
            const string collectionName = "Student";
            // 读取连接字符串
            string strCon = ConfigurationManager.ConnectionStrings["mongodbConn"].ConnectionString;
            var mongoUrl = new MongoUrlBuilder(strCon);
            // 获取数据库名称
            string databaseName = mongoUrl.DatabaseName;
            // 创建并实例化客户端
            _client = new MongoClient(mongoUrl.ToMongoUrl());
            //  根据数据库名称实例化数据库
            _database = _client.GetDatabase(databaseName);
            // 根据集合名称获取集合
            var collection= _database.GetCollection<BsonDocument>(collectionName);
            var filter = new BsonDocument();
            // 查询集合中的文档
            var list = Task.Run(async () => await collection.Find(filter).ToListAsync()).Result;
            // 循环遍历输出
            list.ForEach(p =>
            {
                Console.WriteLine("编号:" + p["stuId"] + ",姓名:" + p["name"].ToString() + ",年龄:"+p["age"].ToString() + ",课程:"+p["subject"].ToString() + ",成绩:"+p["score"].ToString());
            });

            Console.ReadKey();
        }
    }
}

程序运行结果如下图所示:

到此这篇关于使用C#连接并读取MongoDB数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#递归算法之快速排序

    C#递归算法之快速排序

    快速排序由C.A.R发明,它依据中心元素的值,利用一系列递归调用将数据表划分成越来越小的子表。在每一步调用中,经过多次的交换,最终为中心元素找到最终的位置。
    2016-06-06
  • c#  Linq distinct不会调用Equals方法详解

    c# Linq distinct不会调用Equals方法详解

    这篇文章主要介绍了c# Linq distinct不会调用Equals方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Winform实现调用asp.net数据接口实例

    Winform实现调用asp.net数据接口实例

    这篇文章主要介绍了Winform实现调用asp.net数据接口的方法,以实例的形式讲述了数据接口及反射辨别响应的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • C#使用Socket快速判断数据库连接是否正常的方法

    C#使用Socket快速判断数据库连接是否正常的方法

    这篇文章主要介绍了C#使用Socket快速判断数据库连接是否正常的方法,涉及C#中socket操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • c#中string的特性介绍及注意事项小结

    c#中string的特性介绍及注意事项小结

    这篇文章主要给大家介绍了关于c#中string的特性介绍及注意事项的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • C#连接SQL Sever数据库详细图文教程

    C#连接SQL Sever数据库详细图文教程

    C#是Microsoft公司为.NET Framework推出的重量级语言,和它搭配最完美的数据库无疑就是Microsoft SQL Server了,下面这篇文章主要给大家介绍了关于C#连接SQL Sever数据库的详细图文教程,需要的朋友可以参考下
    2023-06-06
  • C#中怎么将一个List转换为只读的

    C#中怎么将一个List转换为只读的

    以下是对C#中将一个List转换为只读的实现方法进行了介绍,需要的朋友可以过来参考下
    2013-08-08
  • C# 9.0 特性全面总结

    C# 9.0 特性全面总结

    这篇文章主要介绍了C# 9.0 特性的相关资料,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C#、vb.net及SQL判断指定年份是否为闰年的方法

    C#、vb.net及SQL判断指定年份是否为闰年的方法

    这篇文章主要介绍了C#、vb.net及SQL判断指定年份是否为闰年的方法,分别以三种方法实现了判断闰年的功能,在进行项目开发中具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • C#常用多线程(线程同步,事件触发,信号量,互斥锁,共享内存,消息队列)

    C#常用多线程(线程同步,事件触发,信号量,互斥锁,共享内存,消息队列)

    这篇文章主要介绍了C#常用多线程(线程同步,事件触发,信号量,互斥锁,共享内存,消息队列),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09

最新评论