這篇文章主要介紹了怎么在.NET中使用MongoDB以及基本的CRUD操作,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
10年積累的網(wǎng)站設(shè)計、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有鄢陵免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。MongoDB
NoSQL是一種面向文檔的數(shù)據(jù)庫系統(tǒng),以特定的格式儲存,如JSON。MongoDB是當(dāng)前NoSQ數(shù)據(jù)庫產(chǎn)品中最熱門的一種,它具高性能、易部署、易使用的特點,以及豐富的輕量級二進制格式。 MongoDB大的特點是支持的查詢語言非常強大,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引,是一個面向集合的,模式自由的文檔型數(shù)據(jù)庫。
本文將詳細(xì)介紹MongoDB的安裝、.NET應(yīng)用程序中的MongoDB(C#代碼)的使用以及演示基本的CRUD操作
MongoDB的優(yōu)點
方便儲存大量結(jié)構(gòu)簡單的數(shù)據(jù)
速度快,適用于大而復(fù)雜的數(shù)據(jù)環(huán)境
在云上有很高的靈活性和可用性
很容易擴展
使用MongoDB的動態(tài)模式,可以實現(xiàn)快速開發(fā)
MongoDB不會將數(shù)據(jù)保存在行中,所有數(shù)據(jù)都儲存在單個文檔中。從程序員的角度看,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 是一個免費的開源數(shù)據(jù)庫,你可以從特定的鏈接去下載。MongoDB還提供了一個很大的驅(qū)動程序列表,方便不同編程語言與數(shù)據(jù)庫之間的通信。如果要與.NET一起使用,則需要從NuGet包安裝驅(qū)動程序。NET驅(qū)動程序包括MongoDB.Bson,MongoDB.Driver和MongoDB.Driver.Core。
現(xiàn)在,讓我們創(chuàng)建一個.NET控制臺應(yīng)用程序來演示MongoDB上的CRUD操作。在運行mongod.exe是要確保提示命令顯示一切正常,以便在執(zhí)行控制臺應(yīng)用程序時保持MongoDB服務(wù)器正常運行。
打開Visual Studio并創(chuàng)建一個C??刂婆_應(yīng)用程序項目。將其命名為MongoDBConsoleApp。
圖1:新的控制臺應(yīng)用程序
步驟2
安裝MongoDB.NET驅(qū)動程序。單機右鍵解決方案,進入“Manage NuGet Packages.”, 然后在搜索欄中,輸入“MongoDB”顯示出安裝包,進行安裝。詳見下圖:
圖2:“Manage NuGet Packages”鏈接
圖3:包管理器輸出
在Program.cs文件中添加以下命名空間,該名稱空間用于連接MongoDB和CRUD操作。
using MongoDB.Driver; using MongoDB.Bson;
接下來,編寫代碼到CRUD操作。此示例中,將使用BsonDocument類對象將數(shù)據(jù)存儲在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)建了一個BsonDocument對象,用于存儲員工數(shù)據(jù)。
在create方法中,作者展示了如何創(chuàng)建一個BsonElement對象變量來存儲員工對象關(guān)鍵值,然后將該對象添加到BsonDocument中。
在update方法中,作者直接將對象作為參數(shù)傳遞,并且找到了員工名稱來更新詳細(xì)信息。
在 delete方法中,作者刪除了之前創(chuàng)建的員工。
最后,顯示整個列表。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么在.NET中使用MongoDB以及基本的CRUD操作”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
網(wǎng)站欄目:怎么在.NET中使用MongoDB以及基本的CRUD操作-創(chuàng)新互聯(lián)
鏈接URL:http://muchs.cn/article40/dgdheo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站改版、外貿(mào)建站、關(guān)鍵詞優(yōu)化、微信小程序、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容