怎么在.NET中使用MongoDB以及基本的CRUD操作

43次阅读
没有评论

共计 3660 个字符,预计需要花费 10 分钟才能阅读完成。

这篇文章主要介绍了怎么在.NET 中使用 MongoDB 以及基本的 CRUD 操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

MongoDB

NoSQL 是一种面向文档的数据库系统,以特定的格式储存,如 JSON。MongoDB 是当前 NoSQ 数据库产品中最热门的一种,它具高性能、易部署、易使用的特点,以及丰富的轻量级二进制格式。
MongoDB 最大的特点是支持的查询语言非常强大,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引,是一个面向集合的, 模式自由的文档型数据库。

本文将详细介绍 MongoDB 的安装、.NET 应用程序中的 MongoDB(C#代码)的使用以及演示基本的 CRUD 操作

MongoDB 的优点

方便储存大量结构简单的数据

  速度快,适用于大而复杂的数据环境

在云上有很高的灵活性和可用性

很容易扩展

使用 MongoDB 的动态模式,可以实现快速开发

MongoDB 不会将数据保存在行中,所有数据都储存在单个文档中。从程序员的角度看,MongoDB 可以处理纯 JSON 文件。详见如下 MongoDB 文档示例:

{  employeeid  : ObjectId( R8rGt541b1ad7d0c4rcfgt7549),
  employeename  :  Tapas Pal ,
  department  :  IT ,
  numberOfArticles  : 50,
  Address  : [
  street  :  Some Street ,
  city  :  Kolkata ,
  country  :  India 
 ],
  companyname  :  XYZ ,
  skills  : [.NET ,  JavaScript ,  NoSQL ,  Node.js ,  HTML]
}

获取 MongoDB

MongoDB
是一个免费的开源数据库,你可以从特定的链接去下载。MongoDB 还提供了一个很大的驱动程序列表,方便不同编程语言与数据库之间的通信。如果要与.NET 一起使用,则需要从 NuGet 包安装驱动程序。NET 驱动程序包括 MongoDB.Bson,MongoDB.Driver 和 MongoDB.Driver.Core。

.NET 项目

现在,让我们创建一个.NET 控制台应用程序来演示 MongoDB 上的 CRUD 操作。在运行 mongod.exe 是要确保提示命令显示一切正常,以便在执行控制台应用程序时保持 MongoDB 服务器正常运行。

步骤 1

打开 Visual Studio 并创建一个 C#控制台应用程序项目。将其命名为 MongoDBConsoleApp。

图 1:新的控制台应用程序

步骤 2

安装 MongoDB.NET 驱动程序。单机右键解决方案,进入“Manage NuGet Packages.”,
然后在搜索栏中,输入“MongoDB”显示出安装包,进行安装。详见下图:

图 2:“Manage NuGet Packages”链接

图 3:包管理器输出

步骤 3

在 Program.cs 文件中添加以下命名空间,该名称空间用于连接 MongoDB 和 CRUD 操作。

using MongoDB.Driver;
using MongoDB.Bson;

步骤 4

接下来,编写代码到 CRUD 操作。此示例中,将使用 BsonDocument 类对象将数据存储在 MongoDB 数据库中。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MongoDB.Driver;
using MongoDB.Bson;
namespace MongoDBConsoleApp
 class Program
 { static void Main(string[] args)
 {
 try
 {
 MongoClient MongodbClient = new
 MongoClient( mongodb://127.0.0.1:27017 
 // Get Database and Collection
 IMongoDatabase Mongodb =
 MongodbClient.GetDatabase( MyDatabase 
 var MongodbcollList =
 Mongodb.ListCollections().ToList();
 Console.WriteLine( The MongoDB list of collections
 are : 
 foreach (var item in MongodbcollList)
 { Console.WriteLine(item);
 }
 var mydocument = Mongodb.GetCollection
  BsonDocument ( mydocument 
 
 create(Mongodb, mydocument);
 update(Mongodb, mydocument);
 delete(Mongodb, mydocument);
 
 var myresultDoc = mydocument.Find(new
 BsonDocument()).ToList();
 foreach (var myitem in myresultDoc)
 { Console.WriteLine(myitem.ToString());
 }
 }
 catch (Exception ex)
 { Console.WriteLine(ex.Message);
 }
 
 Console.ReadLine();
 }
 
 static void create(IMongoDatabase Mongodb, var mydocument)
 {
 
 BsonElement employeename = new BsonElement( employeename ,
  Tapas Pal 
 BsonDocument empployee = new BsonDocument();
 empployee.Add(employeename);
 empployee.Add(new BsonElement( employeenumber , 123));
 mydocument.InsertOne(empployee);
 
 }
 
 static void update(IMongoDatabase Mongodb, var mydocument)
 {
 // UPDATE
 BsonElement updateemployee = new
 BsonElement( employeename ,  Tapas1 Pal1 
 
 BsonDocument updateemployeedoc = new BsonDocument();
 updateemployeedoc.Add(updateemployee);
 updateemployeedoc.Add(new BsonElement( employeenumber ,
 1234));
 
 BsonDocument findemployeeDoc = new BsonDocument(new
 BsonElement(employeename ,  Tapas Pal));
 
 var updateDoc = mydocument.FindOneAndReplace
 (findemployeeDoc, updateemployeedoc);
 
 Console.WriteLine(updateDoc);
 
 }
 static void delete(IMongoDatabase Mongodb, var mydocument)
 {
 // DELETE
 BsonDocument findAnotheremployee = new BsonDocument(new
 BsonElement(employeename ,  Tapas1 Pal1));
 
 mydocument.FindOneAndDelete(findAnotheremployee);
 }
 }
}

在前面的代码方法中,作者检索了当前的数据库集合,然后创建了一个 BsonDocument 对象,用于存储员工数据。

在 create 方法中,作者展示了如何创建一个 BsonElement 对象变量来存储员工对象关键值,然后将该对象添加到 BsonDocument 中。

在 update 方法中,作者直接将对象作为参数传递,并且找到了员工名称来更新详细信息。

在  delete 方法中,作者删除了之前创建的员工。

最后,显示整个列表。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“怎么在.NET 中使用 MongoDB 以及基本的 CRUD 操作”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-26发表,共计3660字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)