1.前言
mongoDB是一種NoSQL的文件型導向資料庫,操作資料庫的方式與傳統關聯式資料庫有些不同。
2.說明
操作此範例前,需要先安裝mongoDB及C#的driver,最新版的軟體可在下列網址下載。
http://www.mongodb.org/
此範例的軟體版本為
database: mongodb-win32-x86_64-2008plus-2.4.6
driver: CSharpDriver-1.8.2
加入參考:
MongoDB.Bson.dll
MongoDB.Driver.dll
加入命名空間:
using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Builders;
開啟資料庫連線
private MongoServer OpenConn(string Server) { string cnstr = string.Format("mongodb://" + Server); MongoClient client = new MongoClient(cnstr); MongoServer server = client.GetServer(); if (server.State == MongoServerState.Connected) server.Disconnect(); server.Connect(); return server; }
插入資料
private void InsertData(string Server, string DatabaseName, string CollectionName, BsonDocument Document) { MongoServer server = OpenConn(Server); MongoDatabase db = server.GetDatabase(DatabaseName); MongoCollection col = db.GetCollection(CollectionName); BsonDocument doc = new BsonDocument(Document); using (server.RequestStart(db)) { col.Insert(doc); } server.Disconnect(); }
讀取資料
private string GetData(string Server, string DatabaseName, string CollectionName) { string json = ""; MongoServer server = OpenConn(Server); MongoDatabase db = server.GetDatabase(DatabaseName); MongoCollection col = db.GetCollection(CollectionName); var query = col.FindAll(); foreach (var doc in query) { json += doc.ToJson(); } server.Disconnect(); return json; }
3.應用
//建立資料庫,資料表及插入資料 BsonDocument doc = new BsonDocument { { "name", "alex" }, { "age", 18 } }; //BsonDocument doc = new BsonDocument { { "name", "cathy" }, { "age", 16 } }; //BsonDocument doc = new BsonDocument { { "name", "david" }, { "age", 17 } }; InsertData("localhost", "school", "namelist", doc); //讀取資料,Json格式 string data = GetData("localhost", "school", "namelist"); Console.WriteLine(data);
文章標籤
全站熱搜