我的编程空间,编程开发者的网络收藏夹
学习永远不晚

.net 中怎么连接MongoDB

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

.net 中怎么连接MongoDB

这期内容当中小编将会给大家带来有关.net 中怎么连接MongoDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

连接MongoDB首先要通过Nuget添加一个MongoDB的包,下载此包

.net 中怎么连接MongoDB

.net 中怎么连接MongoDB

安装完毕后开始写代码了,创建一个省份实体,一个学校实体

using MongoDB.Bson.Serialization.Attributes;

using System.Collections.Generic;

namespace MongoCore.Models

{

    public class Province

    {

        [BsonId]

        public int ProvinceID { get; set; }

        public string ProvinceName { get; set; }

        /// <summary>

        /// 省份里有多个学校  这里用集合保存

        /// </summary>

        public IList<School> SchoolName { get; set; }

    }

}

namespace MongoCore.Models

{

        //用于后面添加学校

        public School(string schoolName, string years)

        {

            SchoolName = schoolName;

            Years = years;

        }

    public class School

    {

        public string SchoolName { get; set; }

        public string Years { get; set; }

    }

}

创建上下文类,连接MongoDB

namespace MongoCore.Models

{

    public class ProvinceContext

    {

        //定义数据库

        private readonly IMongoDatabase _database = null;

        public ProvinceContext()

        {

            //连接服务器名称  mongo的默认端口27017

            var client = new MongoClient("mongodb://.......:27017");

            if (client != null)

                //连接数据库

                _database = client.GetDatabase("数据库名");

        }

        public IMongoCollection<Province> Province

        {

            get

            {

                return _database.GetCollection<Province>("Province");

            }

        }

    }

}

创建控制器

private readonly ProvinceContext _context = new ProvinceContext();       

public async Task<IActionResult> Index(){          
  var list = await _context.Province.Find(_ => true).ToListAsync();            return View(list);}

视图

@model List<MongoCore.Models.Province>

@{

    ViewData["Title"] = "Index";

}

<h3>Index</h3>

<h3>Index</h3>

<a asp-action="Create"><input type="button" value="新 建" class="btn btn-default" /></a>

<table class="table">

    <tr>

        <th>省份ID</th>

        <th>省份名称</th>

        <th>操作</th>

    </tr>

    @foreach (var item in Model)

    {

        <tr>

            <td>

                @Html.DisplayFor(modelItem => item.ProvinceID)

            </td>

            <td>

                @Html.DisplayFor(modelItem => item.ProvinceName)

            </td>

            <td>

                <a asp-action="Insert" asp-route-ProvinceID="@item.ProvinceID">新 增</a>&nbsp;&nbsp;

                <a asp-action="Detail" asp-route-ProvinceID="@item.ProvinceID">详 情</a>&nbsp;&nbsp;

                <a asp-action="Delete" asp-route-ProvinceID="@item.ProvinceID">删 除</a>&nbsp;&nbsp;

            </td>

        </tr>

    }

</table>

运行的时候修改配置在Startup.cs里

.net 中怎么连接MongoDB

运行效果是这样的,现在还没有数据,

.net 中怎么连接MongoDB

点击新建按钮添加省份,这里我添加了湖北省

.net 中怎么连接MongoDB

添加省份代码如下:后端

public IActionResult Create()

        {

            return View();

        }

        [HttpPost]

        [ValidateAntiForgeryToken]

        public async Task<ActionResult> Create(Province item)

        {

            try

            {

                //初始化学校类型数据

                item.SchoolName = new List<School>();

                await _context.Province.InsertOneAsync(item);

                return RedirectToAction(nameof(Index));

            }

            catch

            {

                return View();

            }

        }

视图:

@model MongoCore.Models.Province

@{

    ViewData["Title"] = "Create";

}

<h3>Create</h3>

<div class="row">

    <div class="col-md-4">

        <form asp-action="Create">

            <div asp-validation-summary="ModelOnly" class="text-danger"></div>

            <div class="form-group">

                <label class="control-label">省份ID</label>

                <input asp-for="ProvinceID" class="form-control" />

            </div>

            <div class="form-group">

                <label class="control-label">省份名称</label>

                <input asp-for="ProvinceName" class="form-control" />

            </div>

            <div class="form-group">

                <input type="submit" value="保 存" class="btn btn-default" />

            </div>

        </form>

    </div>

</div>

接下来就是添加省份下面的学校了

public async Task<IActionResult> Insert(int ProvinceID)

        {

            var num = await _context.Province.Find(p => p.ProvinceID == ProvinceID).SingleOrDefaultAsync();

            return View(num);

        }

        [HttpPost]

        [ValidateAntiForgeryToken]

        public async Task<IActionResult> Insert(int ProvinceID, string Years, string SchoolName)

        {

            var item = await _context.Province.Find(p => p.ProvinceID == ProvinceID).SingleOrDefaultAsync();

            School sl = new School(SchoolName,Years);

            //添加学校

            item.SchoolName.Add(sl);

            //更新

            ReplaceOneResult actionResult

               = await _context.Province

                               .ReplaceOneAsync(n => n.ProvinceID.Equals(ProvinceID)

                                       , item

                                       , new UpdateOptions { IsUpsert = true });

            return RedirectToAction(nameof(Index));

        }

视图:

@model MongoCore.Models.Province

@{

    ViewData["Title"] = "Insert";

}

<h3>新增</h3>

<div class="row">

    <div class="col-md-4">

        <form asp-action="Insert">

            <div asp-validation-summary="ModelOnly" class="text-danger"></div>

            <input type="hidden" asp-for="ProvinceID" />

            <div class="form-group">

                <label class="control-label">学校名称</label>

                <input name="SchoolName" class="form-control" />

            </div>

            <div class="form-group">

                <label class="control-label">成立年份</label>

                <input name="Years" class="form-control" />

            </div>

            <div class="form-group">

                <input type="submit" value="保 存" class="btn btn-default" />

            </div>

        </form>

    </div>

</div>

然后添加学校,我添加了两所学校,在MongoDB里可以看到数据

.net 中怎么连接MongoDB

上述就是小编为大家分享的.net 中怎么连接MongoDB了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

免责声明:

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

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

.net 中怎么连接MongoDB

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

.net 中怎么连接MongoDB

这期内容当中小编将会给大家带来有关.net 中怎么连接MongoDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。连接MongoDB首先要通过Nuget添加一个MongoDB的包,下载此包安装完毕后开始写
2023-06-19

python怎么连接mongodb

Python连接MongoDB使用pymongo库与MongoDB交互。安装pymongo,建立连接,并连接到数据库。处理认证,创建集合,插入和查询文档。探索更新、删除和高级功能。遵循最佳实践,例如使用连接池和优化查询。
python怎么连接mongodb
2024-04-10

MongoDB中怎么防止连接泄漏

在MongoDB中,可以通过以下几种方法来防止连接泄漏:使用连接池:使用连接池来管理数据库连接,确保每次连接都能够被正确释放和回收,避免连接被长时间占用而导致泄漏。显式关闭连接:在应用程序中,确保在使用完数据库连接后,及时关闭连接,释放资源
MongoDB中怎么防止连接泄漏
2024-04-19

navicat premium怎么连接mongodb

本文介绍了如何使用 navicat premium 连接 mongodb,具体步骤如下:建立连接:在 navicat premium 中,选择连接选项卡,并在数据库类型中选择 mongodb。配置连接设置:输入连接名称、主机地址、端口号、用
navicat premium怎么连接mongodb
2024-04-06

怎么在Android中连接MongoDB数据库

怎么在Android中连接MongoDB数据库?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MongoDB简介Mongodb,分布式文档存储数据库,由C++语言编写,旨在为
2023-05-30

怎么在Navicat中使用Premium连接mongodb

怎么在Navicat中使用Premium连接mongodb?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。0 环境操作系统:win101 准备navicat15 破解CentOS
2023-06-07

Python怎么连接mongodb容器

正文连接MongoDB容器的Python方法包含:使用PyMongo库(本地和Docker容器)使用Motor库(异步本地连接)PyMongo连接步骤:安装PyMongo创建MongoClient对象获取数据库获取集合使用Docker容器:确定容器IP地址更新MongoClient对象示例代码:本地连接:pymongo.MongoClient("mongodb://localhost:27017")Docker容器连接:pymongo.MongoClient("mongodb://<containe
Python怎么连接mongodb容器
2024-04-11

mongodb怎么连接数据库

要连接到MongoDB数据库,您需要使用MongoDB提供的客户端驱动程序。以下是连接到MongoDB数据库的一般步骤:安装MongoDB客户端驱动程序:您可以选择使用官方的MongoDB驱动程序或第三方驱动程序。官方的MongoDB驱动程
mongodb怎么连接数据库
2024-04-08

怎么使用Node连接mongodb

本篇内容主要讲解“怎么使用Node连接mongodb”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Node连接mongodb”吧!Mongoose 是一个 Node.js 包,提供了一个
2023-07-05

mongodb连接池怎么配置

在MongoDB中,可以使用连接池来提高数据库的性能和效率。连接池可以管理和复用数据库连接,避免每次操作数据库都需要建立和关闭连接的开销。以下是配置MongoDB连接池的步骤:安装MongoDB驱动程序(如pymongo)。创建一个连接池
2023-10-26

java怎么连接mongodb集群

Java连接MongoDB集群通过使用MongoDB驱动,Java应用程序可以轻松地与MongoDB集群建立连接。此连接涉及以下步骤:添加MongoDB驱动依赖项配置连接选项(服务器地址、认证等)使用MongoClientOptions创建连接启用认证(如果需要)利用集群的故障转移功能最后关闭连接连接集群提供了故障转移、负载均衡和高可用性等好处。通过遵循这些步骤,Java应用程序可以可靠地访问和操作MongoDB集群中的数据。
java怎么连接mongodb集群
2024-04-11

Python怎么连接mongodb容器

要连接MongoDB容器,可以使用`pymongo`库来实现。以下是一段示例代码,展示了如何连接MongoDB容器并执行一些基本的操作:```pythonfrom pymongo import MongoClient# 连接MongoDB容
2023-09-04

mongodb数据库怎么连接

如何连接 mongodb 数据库:选择连接方法:mongodb compass(gui)、mongodb shell(cli)或编程语言驱动程序。安装所需软件:根据所选方法安装 mongodb compass、shell 或驱动程序。建立连
mongodb数据库怎么连接
2024-04-08

在Ubuntu 19.10中怎么利用mongoose连接mongoDB

本篇文章为大家展示了在Ubuntu 19.10中怎么利用mongoose连接mongoDB,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Mongoose是一个建立在MongoDB驱动之上的ODM(对
2023-06-05

python怎么连接mongodb查数据

要在Python中连接到MongoDB并查询数据,你需要安装pymongo库,它是MongoDB官方提供的Python驱动程序。你可以使用以下代码连接到MongoDB并查询数据:```pythonfrom pymongo import Mo
2023-08-30

java怎么连接mongodb数据库

在Java中连接MongoDB数据库,通常使用MongoDB的官方Java驱动程序,即MongoDB Java Driver。以下是连接MongoDB数据库的步骤:1、首先,下载MongoDB Java Driver。可以在MongoDB
java怎么连接mongodb数据库
2024-04-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录