教程:如何在.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。
圖1:新的控制檯應用程式
步驟2
安裝MongoDB.NET驅動程式。單機右鍵解決方案,進入“Manage NuGet Packages.”, 然後在搜尋欄中,輸入“MongoDB”顯示出安裝包,進行安裝。詳見下圖:
圖2:“Manage NuGet Packages”連結
圖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方法中,作者刪除了之前建立的員工。
最後,顯示整個列表。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542119/viewspace-2158330/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MongoDB 4.X CRUD基本操作MongoDB
- 使用go在mongodb中進行CRUD操作MongoDB
- Elasticsearch CRUD基本操作Elasticsearch
- 【MongoDB學習筆記】-使用 MongoDB 進行 CRUD 操作(下)MongoDB筆記
- 【MongoDB學習筆記】-使用 MongoDB 進行 CRUD 操作(上)MongoDB筆記
- MongoDB基本操作MongoDB
- MongoDB 入門教程系列之三:使用 Restful API 操作 MongoDBMongoDBRESTAPI
- MongoDB 入門教程系列之二:使用 Spring Boot 操作 MongoDBMongoDBSpring Boot
- ES 筆記四:文件的基本 CRUD 與批量操作筆記
- MongoDB資料庫的基本操作梳理MongoDB資料庫
- .Net Core中簡單使用MongoDBMongoDB
- 使用PreparedStatement實現CRUD操作
- SpringBoot實現mongoDB的CRUDSpring BootMongoDB
- mongodb的安裝以及使用MongoDB
- MongoDB 新手入門 - CRUDMongoDB
- MongoDB單節點部署與基本操作MongoDB
- python中字串基本操作以及三種位運算Python字串
- I/O流以及檔案的基本操作
- JPA之使用JPQL進行CRUD操作
- ES6封裝MongoDB的CRUD封裝MongoDB
- JavaAPI操作MongoDB--基本增刪改查JavaAPIMongoDB
- 推薦一個Dapper擴充套件CRUD基本操作的開源庫APP套件
- 使用“純”Servlet做一個單表的CRUD操作Servlet
- ASP.NET Core MVC+Layui使用EF Core連線MySQL執行簡單的CRUD操作ASP.NETMVCUIMySql
- MyBatis 的簡單 CRUD 操作MyBatis
- 如何在Nuxt3.0中使用MongoDB資料庫UXMongoDB資料庫
- 技術乾貨| 如何在MongoDB中輕鬆使用GridFS?MongoDB
- python 使用csv的基本操作Python
- Python中CRUD增刪改查教程Python
- MybatisPlus 中的API 使用總結(CRUD)MyBatisAPI
- go操作mongo CRUDGo
- Jenkins部署以及基本使用Jenkins
- 在.NET Core中使用MongoDB明細教程(3):Skip, Sort, Limit, ProjectionsMongoDBMITProject
- MongoDB的基本用法MongoDB
- Go + MySQL的CRUD案例教程GoMySql
- 執行緒的狀態轉換以及基本操作執行緒
- Is it going on-------------Docker容器的安裝以及基本的操作指令GoDocker
- .net使用CSRedis操作Redis快取的簡單筆記(新手教程)Redis快取筆記