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);
文章標籤
全站熱搜
