網站首頁 個人範例 行業範例 行政範例 職場範例 校園範例 書信範例 生活範例 節日文化範例

NET連接MongoDB數據庫實例方法

欄目: 數據庫操作系統 / 發佈於: / 人氣:1.65W

使用代碼

NET連接MongoDB數據庫實例方法

讓我們從Mongo數據庫的一些細節和基本命令開始,並最終介紹如何創建一個可連接至Mongo數據庫的 Windows應用。

Mongo數據庫

MongoDB 是一個跨平台、文檔導向的數據庫系統,它被歸類為“NoSQL”數據庫。MongoDB避開了傳統的基於表的關係數據庫結構,而是使用了帶動態模式的類JSON文檔。MongoDB將這種格式稱為BSON(二進制JSON)。這種動態模式使得特定類型應用中的數據整合更簡單、更快速。MongoDB是自由且開源的軟件。

Mongo數據庫的特性

Ad hoc 查詢

1 標引

2 複製

3負載均衡

4 文件存貯

5 聚合

6 服務器端 JavaScript 執行

7 定容集合

用户可從 此處 下載Mongo數據庫,然後將其中內容解壓至任一文件夾。 文件下載完成後,用户需要配置MongoDB的數據文件夾。做法是在“C:Data”文件夾下創建一個名為“DB”的文件夾。

數據文件夾創建好以後,可以通過用命令行提示符在“bin”文件夾下運行“”來啟動Mongo數據庫。

現在數據庫已經啟動,並正在運行。

創建一個應用

創建一個 web/Windows應用。在這個示例中,我們將用一個簡單的員工表。

開始之前,我們需要確保系統中裝有MongoDB的驅動。你可以按下面的步驟來為一個指定的項目安裝驅動。

打開Visual Studio的包管理器:

打開包管理器控制枱後,用户可以執行下面的命令:

複製代碼 代碼如下:

Install-Package mongocsharpdriver

在項目中添加對下列命名空間的引用:

複製代碼 代碼如下:

using ;

using er;

//此外,你將頻繁的用到下面這些 using 語句中的一條或多條:

using ders;

using FS;

using ;

聲明數據庫服務器和數據庫的變量:

複製代碼 代碼如下:

MongoServer _server;

MongoDatabase _database;

用下面的命令連接至數據庫。在這裏,數據庫服務器是在本地主機上運行的',端口為:27017,數據庫名為“ anoop”。

複製代碼 代碼如下:

private void Form1_Load(object sender, EventArgs e)

{

string connection = "mongodb://localhost:27017";

_server = te(connection);

_database = _atabase("anoop", );

}

在這裏,我們創建了三個使用不同屬性集合的類。我們可以設置這些類的屬性,並將數據保存至同一個數據庫、同一個表。這是無模式數據庫的真正優勢:插入數據時不檢查模式。保存不同的記錄時可以用不同的域的集合,而其它的域 將 默認被視為NULL。

複製代碼 代碼如下:

public class Users1

{

public ObjectId Id { get; set; }

public string Name { get; set; }

public int Age { get; set; }

}

public class Users2

{

public ObjectId Id { get; set; }

public string Name { get; set; }

public string Location { get; set; }

}

public class Users3

{

public ObjectId Id { get; set; }

public string Name { get; set; }

public int Age { get; set; }

public string Location { get; set; }

}

private void rbEntity1_CheckedChanged(object sender, EventArgs e)

{

led = true;

led = true;

led = true;

}

private void rbEntity2_CheckedChanged(object sender, EventArgs e)

{

led = true;

led = false;

led = true;

}

private void rbEntity3_CheckedChanged(object sender, EventArgs e)

{

led = true;

led = true;

led = false;

}

private void btnSave_Click(object sender, EventArgs e)

{

if (ked)

{

var _users = _ollection("users");

var user = new Users3 { };

= t32();

= ;

tion = ;

_rt(user);

var id = ;

}

else if (ked)

{

var _users = _ollection("users");

var user = new Users2 { };

= ;

tion = ;

_rt(user);

var id = ;

}

else if (ked)

{

var _users = _ollection("users");

var user = new Users1 { };

= t32();

= ;

_rt(user);

var id = ;

}

("User with name " + + " created");

}

複製代碼 代碼如下:

///下面的代碼幫助你從Mongo數據庫中查找一條現有記錄。

_collection = _ollection("users");

IMongoQuery query = ("Name", "Anoop");

Users1 _user = _As(query)tOrDefault();

(_ring());

複製代碼 代碼如下:

///下面的代碼幫助你更新Mongo數據庫中的一條現有記錄。

_collection = _ollection("users");

IMongoQuery query = ("Name", "Anoop");

Users1 _user = _As(query)tOrDefault();

("Age before :" + _ring());

//更新年齡的值

_ = 30;

//保存更改

_(_user);

("Age after :" + _ring());