中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-09 09:48:01 來源:億速云 閱讀:235 作者:小新 欄目:關系型數據庫

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

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。

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

圖1:新的控制臺應用程序

步驟2

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

怎么在.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類對象將數據存儲在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方法中,作者刪除了之前創建的員工。

最后,顯示整個列表。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么在.NET中使用MongoDB以及基本的CRUD操作”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北海市| 遂昌县| 元朗区| 鄱阳县| 长岛县| 清河县| 靖边县| 贵州省| 成武县| 保定市| 谷城县| 鄂托克旗| 玛沁县| 荥阳市| 武清区| 祁阳县| 稷山县| 达拉特旗| 盐亭县| 翁牛特旗| 金溪县| 芦山县| 罗甸县| 隆德县| 衡水市| 准格尔旗| 南康市| 嘉兴市| 会昌县| 桓台县| 溧阳市| 土默特左旗| 和平区| 大渡口区| 舞钢市| 珲春市| 原阳县| 二连浩特市| 安吉县| 邛崃市| 三河市|