广告
返回顶部
首页 > 资讯 > 精选 >.net 中怎么连接MongoDB
  • 219
分享到

.net 中怎么连接MongoDB

2023-06-19 10:06:57 219人浏览 安东尼
摘要

这期内容当中小编将会给大家带来有关.net 中怎么连接MongoDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。连接mongoDB首先要通过Nuget添加一个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了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: .net 中怎么连接MongoDB

本文链接: https://www.lsjlt.com/news/295500.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • .net 中怎么连接MongoDB
    这期内容当中小编将会给大家带来有关.net 中怎么连接MongoDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。连接MongoDB首先要通过Nuget添加一个MongoDB的包,下载此包安装完毕后开始写...
    99+
    2023-06-19
  • BIRT中怎么连接 MongoDB
    这期内容当中小编将会给大家带来有关BIRT中怎么连接 MongoDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。MongoDB 不同于 O...
    99+
    2022-10-18
  • Python中怎么连接访问MongoDB
    这期内容当中小编将会给大家带来有关Python中怎么连接访问MongoDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 1、从Mongo Shell到应用程序...
    99+
    2022-10-18
  • node.js中怎么连接MongoDB数据库
    今天就跟大家聊聊有关node.js中怎么连接MongoDB数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、通过client对象连接到Mong...
    99+
    2022-10-19
  • mongodb连接池怎么配置
    在MongoDB中,可以使用连接池来提高数据库的性能和效率。连接池可以管理和复用数据库连接,避免每次操作数据库都需要建立和关闭连接的...
    99+
    2023-10-26
    mongodb
  • 怎么使用Node连接mongodb
    本篇内容主要讲解“怎么使用Node连接mongodb”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Node连接mongodb”吧!Mongoose 是一个 Node.js 包,提供了一个...
    99+
    2023-07-05
  • Python怎么连接mongodb容器
    要连接MongoDB容器,可以使用`pymongo`库来实现。以下是一段示例代码,展示了如何连接MongoDB容器并执行一些基本的操...
    99+
    2023-09-04
    Python mongodb
  • Mongodb中怎么优化最大连接数
    本篇文章为大家展示了Mongodb中怎么优化最大连接数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.查询最大连接数:   &nbs...
    99+
    2022-10-18
  • 怎么在Navicat中使用Premium连接mongodb
    怎么在Navicat中使用Premium连接mongodb?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。0 环境操作系统:win101 准备navicat15 破解CentOS...
    99+
    2023-06-07
  • 怎么在Android中连接MongoDB数据库
    怎么在Android中连接MongoDB数据库?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MongoDB简介Mongodb,分布式文档存储数据库,由C++语言编写,旨在为...
    99+
    2023-05-30
    android mongodb
  • python怎么查询mongodb连接数
    在Python中,可以使用`pymongo`库来连接和操作MongoDB数据库。要查询MongoDB的连接数,可以使用以下代码:``...
    99+
    2023-09-06
    mongodb python
  • python怎么连接mongodb查数据
    要在Python中连接到MongoDB并查询数据,你需要安装pymongo库,它是MongoDB官方提供的Python驱动程序。你可...
    99+
    2023-08-30
    python mongodb
  • 在Ubuntu 19.10中怎么利用mongoose连接mongoDB
    本篇文章为大家展示了在Ubuntu 19.10中怎么利用mongoose连接mongoDB,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Mongoose是一个建立在MongoDB驱动之上的ODM(对...
    99+
    2023-06-05
  • gridfs无法连接mongodb怎么解决
    如果遇到GridFS无法连接MongoDB的问题,可能是由于以下几个原因:1. MongoDB服务未运行:首先需要确保MongoDB...
    99+
    2023-08-30
    mongodb gridfs
  • mongodb怎么关闭数据库连接
    在MongoDB中关闭数据库连接有两种方法。方法一:使用`db.logout()`命令来关闭连接。这会注销当前用户并关闭连接。```...
    99+
    2023-09-06
    mongodb 数据库
  • Node.js中如何连接mongodb
    这期内容当中小编将会给大家带来有关Node.js中如何连接mongodb,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。安装驱动安装命令cnpm install&...
    99+
    2022-10-19
  • mongodb怎么设置外部连接不上
    要确保MongoDB可以被外部连接访问,你需要执行以下步骤:1. 在配置文件中设置绑定IP地址:- 打开MongoDB的配置文件(通...
    99+
    2023-09-12
    mongodb
  • mongodb没法用ip连接怎么解决
    在MongoDB中,可以使用IP地址进行连接,而不仅仅是使用主机名。如果您无法使用IP地址连接到MongoDB,请尝试以下解决方法:...
    99+
    2023-08-30
    mongodb
  • php连接mongodb权限不够怎么解决
    要解决PHP连接MongoDB权限不够的问题,可以尝试以下解决方案:1. 检查MongoDB用户权限:确保您正在使用具有足够权限的M...
    99+
    2023-09-06
    php mongodb
  • MongoDB中连接池、索引、事务
    目录连接池 = 数据库连接的缓存MongoDB查询数据五步走MongoDB连接池的参数配置下面简单说一下MongoDB的索引索引基数是指集合中某个字段有多少个不同的值MongoDB内...
    99+
    2023-01-11
    MongoDB 连接池 MongoDB 索引 MongoDB事务
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作