首頁 > 軟體

在C#中使用MongoDB資料庫

2022-06-08 18:03:32

一、新增MongoDB參照

想要在C#中使用MongoDB,首先安裝支援MongoDB的C#版的驅動。

利用MongoDB官方釋出的C#驅動,可通過網路下載或nuget安裝,得到MongoDB相關的dll,新增到專案中參照。

https://docs.mongodb.com/drivers/csharp/

通過NuGet方式新增

第一步:在專案中右鍵,選擇管理NuGet管理包

第二步:搜尋MongoDB,選擇MongoDB.Driver新增,我這裡已經新增過了所以沒有新增按鈕

通過這兩步,會在專案中自動新增MongoDB.Bson(序列化、Json相關)、MongoDB.Driver(驅動程式)、MongoDB.Driver.Core等參照

二、使用方法

1、連線資料庫

在連線資料庫之前,請確保MongoDB資料庫服務已經啟動。

using MongoDB.Bson;
using MongoDB.Driver;

//1.連線字串(mongodb資料庫預設埠為:27017)
string connStr = "mongodb://127.0.0.1:27017";

//2.建立連線MongoClient範例實際上代表了一個到資料庫的連線池,即使有多個執行緒,也只需要一個MongoClient類的範例
var client = new MongoClient(connStr);

//3.使用client的GetDatabase方法獲取資料庫,即使該資料庫不存在,也會自動建立;
IMongoDatabase db = client.GetDatabase("test");

2、運算元據

三個物件, client是連線資料庫的使用者端, database對應庫, collection是物件集合。對物件的操作是針對collection集合。

//4.獲取資料集 collection;BsonDocument是在資料沒有預先定義好的情況下使用的。
IMongoCollection<BsonDocument> collection = db.GetCollection<BsonDocument>("runoob1");

//5.插入一條資料;
var document = new BsonDocument { { "id", 2 }, { "name", "aa" } };
collection.InsertOne(document);


//6.查詢資料1
var res = collection.Find(new BsonDocument()).ToList(); //查詢整個資料集
foreach (var item in res)
{
    Console.WriteLine(item);
}
//6.查詢資料2
var res_a = collection.Find(new BsonDocument()).FirstOrDefault(); //查詢當前資料集的第一條資料,沒有則返回null
Console.WriteLine(res_a);


//6.升序降序查詢3:
var sort_ascending = Builders<BsonDocument>.Sort.Ascending("id"); //根據id升序
var sort_descending = Builders<BsonDocument>.Sort.Descending("id"); //根據id降序
var res_c = collection.Find(Builders<BsonDocument>.Filter.Lt("id", 10) & Builders<BsonDocument>.Filter.Gte("id", 2)).Limit(50).Sort(sort_ascending).ToCursor(); //查詢id小於10,大於2的資料
foreach (var item in res_c.ToEnumerable())
{
    Console.WriteLine(item);
}

//7.更新資料,更新支援新增新的field, 如:
collection.UpdateMany(Builders<BsonDocument>.Filter.Eq("id", 2), Builders<BsonDocument>.Update.Set("name", "hello"));   //將id欄位為2的名字都改為「hello」;

//8.刪除
collection.DeleteMany(Builders<BsonDocument>.Filter.Eq("id", 2));

mongodb對程式設計師是極友好的, 可以動態變化的結構, 讓程式設計師不再害怕頻繁變動的需求。

到此這篇關於C#使用MongoDB的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com