在C#中使用官方驅動操作MongoDB

來源:互聯網
上載者:User

標籤:

MongoDB的官方驅動:https://github.com/mongodb/mongo-csharp-driver/releases

目前最新的版本是2.10,支援.NET 4.5以上。由於我現在的程式還在.NET4.0上面構建,所以這裡使用1.10.1版本。

添加引用

解壓下載到的驅動,然後在我們的程式中添加引用:

MongoDB.Bson.dll
MongoDB.Driver.dll

然後在代碼中添加Using:

using MongoDB.Bson;using MongoDB.Driver;

 

建立Client、Server、Database
var connectionString = "mongodb://localhost:27017";var client = new MongoClient(connectionString);var server = client.GetServer();var db = server.GetDatabase("mydb");

connectionString可以從設定檔中擷取。

client對象是安全執行緒的,那麼,我們可以把它存到一個全域的變數中。

有了db對象,我們就可以進行訪問了。

使用Collection

Collection是文檔(document)的集合,可以理解為我們的資料表。而每一個文檔就是我們的一行資料。在MongoDB的驅動中,我們有兩種方式來使用Collection:

  1. 使用 BsonDocument 模型
  2. 使用自訂的實體模型

如果我們的文檔結構比較複雜,或者定義為實體模型比較困難,那麼推薦使用BsonDocument模型。

如果我們的文檔結構清晰,儲存的欄位也是固定的,那麼推薦使用自訂的實體模型。實體物件的格式如下:

public class Entity{    public ObjectId Id { get; set; }    public string Name { get; set; }}

我們在擷取Collection引用的時候,需要提供一個文件類型:

var collection = db.GetCollection<Entity>("entities");
CURD操作

在有了Collection之後,我們可以寫一個CURD的例子:

var collection = db.GetCollection<Entity>("entities");var entity = new Entity { Name = "Tom" };collection.Insert(entity);var id = entity.Id;var query = Query<Entity>.EQ(e => e.Id, id);entity = collection.FindOne(query);entity.Name = "Dick";collection.Save(entity);var update = Update<Entity>.Set(e => e.Name, "Harry");collection.Update(query, update);collection.Remove(query);

 

齊飛([email protected])

原文連結:http://www.qeefee.com/article/000559

在C#中使用官方驅動操作MongoDB

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.