这篇文章主要介绍了怎么在.NET中使用MongoDB以及基本的CRUD操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
专注于为中小企业提供网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业若羌免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
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还提供了一个很大的驱动程序列表,方便不同编程语言与数据库之间的通信。如果要与.NET一起使用,则需要从NuGet包安装驱动程序。NET驱动程序包括MongoDB.Bson,MongoDB.Driver和MongoDB.Driver.Core。
现在,让我们创建一个.NET控制台应用程序来演示MongoDB上的CRUD操作。在运行mongod.exe是要确保提示命令显示一切正常,以便在执行控制台应用程序时保持MongoDB服务器正常运行。
打开Visual Studio并创建一个C#控制台应用程序项目。将其命名为MongoDBConsoleApp。
图1:新的控制台应用程序
步骤2
安装MongoDB.NET驱动程序。单机右键解决方案,进入“Manage NuGet Packages.”, 然后在搜索栏中,输入“MongoDB”显示出安装包,进行安装。详见下图:
图2:“Manage NuGet Packages”链接
图3:包管理器输出
在Program.cs文件中添加以下命名空间,该名称空间用于连接MongoDB和CRUD操作。
using MongoDB.Driver; using MongoDB.Bson;
接下来,编写代码到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("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方法中,作者删除了之前创建的员工。
最后,显示整个列表。
感谢你能够认真阅读完这篇文章,希望小编分享的“怎么在.NET中使用MongoDB以及基本的CRUD操作”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!