怎么在.NET中使用MongoDB以及基本的CRUD操作-創(chuàng)新互聯(lián)

這篇文章主要介紹了怎么在.NET中使用MongoDB以及基本的CRUD操作,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10年積累的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有鄢陵免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

MongoDB

NoSQL是一種面向文檔的數(shù)據(jù)庫系統(tǒng),以特定的格式儲(chǔ)存,如JSON。MongoDB是當(dāng)前NoSQ數(shù)據(jù)庫產(chǎn)品中最熱門的一種,它具高性能、易部署、易使用的特點(diǎn),以及豐富的輕量級(jí)二進(jìn)制格式。 MongoDB大的特點(diǎn)是支持的查詢語言非常強(qiáng)大,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引,是一個(gè)面向集合的,模式自由的文檔型數(shù)據(jù)庫。

本文將詳細(xì)介紹MongoDB的安裝、.NET應(yīng)用程序中的MongoDB(C#代碼)的使用以及演示基本的CRUD操作

MongoDB的優(yōu)點(diǎn)

  • 方便儲(chǔ)存大量結(jié)構(gòu)簡(jiǎn)單的數(shù)據(jù)

  •  速度快,適用于大而復(fù)雜的數(shù)據(jù)環(huán)境

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

  • 很容易擴(kuò)展

  • 使用MongoDB的動(dòng)態(tài)模式,可以實(shí)現(xiàn)快速開發(fā)

MongoDB不會(huì)將數(shù)據(jù)保存在行中,所有數(shù)據(jù)都儲(chǔ)存在單個(gè)文檔中。從程序員的角度看,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 是一個(gè)免費(fèi)的開源數(shù)據(jù)庫,你可以從特定的鏈接去下載。MongoDB還提供了一個(gè)很大的驅(qū)動(dòng)程序列表,方便不同編程語言與數(shù)據(jù)庫之間的通信。如果要與.NET一起使用,則需要從NuGet包安裝驅(qū)動(dòng)程序。NET驅(qū)動(dòng)程序包括MongoDB.Bson,MongoDB.Driver和MongoDB.Driver.Core。

.NET項(xiàng)目

現(xiàn)在,讓我們創(chuàng)建一個(gè).NET控制臺(tái)應(yīng)用程序來演示MongoDB上的CRUD操作。在運(yùn)行mongod.exe是要確保提示命令顯示一切正常,以便在執(zhí)行控制臺(tái)應(yīng)用程序時(shí)保持MongoDB服務(wù)器正常運(yùn)行。

步驟1

打開Visual Studio并創(chuàng)建一個(gè)C#控制臺(tái)應(yīng)用程序項(xiàng)目。將其命名為MongoDBConsoleApp。

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

圖1:新的控制臺(tái)應(yīng)用程序

步驟2

安裝MongoDB.NET驅(qū)動(dòng)程序。單機(jī)右鍵解決方案,進(jìn)入“Manage NuGet Packages.”, 然后在搜索欄中,輸入“MongoDB”顯示出安裝包,進(jìn)行安裝。詳見下圖:

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

圖2:“Manage NuGet Packages”鏈接

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

圖3:包管理器輸出

步驟3

在Program.cs文件中添加以下命名空間,該名稱空間用于連接MongoDB和CRUD操作。

using MongoDB.Driver;
using MongoDB.Bson;

步驟4

接下來,編寫代碼到CRUD操作。此示例中,將使用BsonDocument類對(duì)象將數(shù)據(jù)存儲(chǔ)在MongoDB數(shù)據(jù)庫中。

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);
      }
   }
}

在前面的代碼方法中,作者檢索了當(dāng)前的數(shù)據(jù)庫集合,然后創(chuàng)建了一個(gè)BsonDocument對(duì)象,用于存儲(chǔ)員工數(shù)據(jù)。

在create方法中,作者展示了如何創(chuàng)建一個(gè)BsonElement對(duì)象變量來存儲(chǔ)員工對(duì)象關(guān)鍵值,然后將該對(duì)象添加到BsonDocument中。

在update方法中,作者直接將對(duì)象作為參數(shù)傳遞,并且找到了員工名稱來更新詳細(xì)信息。

在 delete方法中,作者刪除了之前創(chuàng)建的員工。

最后,顯示整個(gè)列表。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么在.NET中使用MongoDB以及基本的CRUD操作”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

網(wǎng)站欄目:怎么在.NET中使用MongoDB以及基本的CRUD操作-創(chuàng)新互聯(lián)
鏈接URL:http://bm7419.com/article40/dgdheo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站改版、外貿(mào)建站、關(guān)鍵詞優(yōu)化微信小程序、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)