您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么在.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還提供了一個很大的驅動程序列表,方便不同編程語言與數據庫之間的通信。如果要與.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 <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操作”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。