2023年NET連接MongoDB數(shù)據(jù)庫實例方法_第1頁
2023年NET連接MongoDB數(shù)據(jù)庫實例方法_第2頁
2023年NET連接MongoDB數(shù)據(jù)庫實例方法_第3頁
2023年NET連接MongoDB數(shù)據(jù)庫實例方法_第4頁
2023年NET連接MongoDB數(shù)據(jù)庫實例方法_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

慎而思之,勤而行之。斯是陋室,惟吾德馨。第第2頁/共2頁精品文檔推薦2023年NET銜接MongoDB數(shù)據(jù)庫實例主意收拾NET銜接MongoDB數(shù)據(jù)庫實例主意

使用代碼

讓我們從Mongo數(shù)據(jù)庫的一些細(xì)節(jié)和基本命令開始,并總算推薦如何創(chuàng)建一個可銜接至Mongo數(shù)據(jù)庫的.NETWindows應(yīng)用。

Mongo數(shù)據(jù)庫

MongoDB是一個跨平臺、文檔導(dǎo)向的數(shù)據(jù)庫系統(tǒng),它被歸類為“NoSQL”數(shù)據(jù)庫。MongoDB避免了傳統(tǒng)的基于表的關(guān)系數(shù)據(jù)庫結(jié)構(gòu),而是使用了帶動態(tài)模式的類JSON文檔。MongoDB將這種格式稱為BSON(二進(jìn)制JSON)。這種動態(tài)模式使得特定類型應(yīng)用中的數(shù)據(jù)整合更容易、更迅速。MongoDB是自由且開源的軟件。

Mongo數(shù)據(jù)庫的特性

Adhoc查詢

1標(biāo)引

2復(fù)制

3負(fù)載均衡

4文件存貯

5聚合

6服務(wù)器端JavaScript執(zhí)行

7定容集合

用戶可從此處下載Mongo數(shù)據(jù)庫,然后將其中內(nèi)容解壓至任一文件夾。文件下載完成后,用戶需要配置MongoDB的數(shù)據(jù)文件夾。做法是在“C:Data”文件夾下創(chuàng)建一個名為“DB”的文件夾。

數(shù)據(jù)文件夾創(chuàng)建好以后,可以通過用命令行提醒符在“bin”文件夾下運行“mongod.exe”來啟動Mongo數(shù)據(jù)庫。

現(xiàn)在數(shù)據(jù)庫已經(jīng)啟動,并正在運行。

創(chuàng)建一個.NET應(yīng)用

創(chuàng)建一個.NETweb/Windows應(yīng)用。在這個示例中,我們將用一個容易的.員工表。

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

打開VisualStudio的包管理器:

打開包管理器控制臺后,用戶可以執(zhí)行下面的命令:

復(fù)制代碼代碼如下:

Install-Packagemongocsharpdriver

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

復(fù)制代碼代碼如下:

usingMongoDB.Bson;

usingMongoDB.Driver;

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

usingMongoDB.Driver.Builders;

usingMongoDB.Driver.GridFS;

usingMongoDB.Driver.Linq;

聲明數(shù)據(jù)庫服務(wù)器和數(shù)據(jù)庫的變量:

復(fù)制代碼代碼如下:

MongoServer_server;

MongoDatabase_database;

用下面的命令銜接至數(shù)據(jù)庫。在這里,數(shù)據(jù)庫服務(wù)器是在本地主機(jī)上運行的,端口為:27017,數(shù)據(jù)庫名為“anoop”。

復(fù)制代碼代碼如下:

privatevoidForm1_Load(objectsender,EventArgse)

{

stringconnection=mongodb://localhost:27017;

_server=MongoServer.Create(connection);

_database=_server.GetDatabase(anoop,SafeMode.True);

}

在這里,我們創(chuàng)建了三個使用不同屬性集合的類。我們可以設(shè)置這些類的屬性,并將數(shù)據(jù)保存至同一個數(shù)據(jù)庫、同一個表。這是無模式數(shù)據(jù)庫的真正優(yōu)勢:插入數(shù)據(jù)時不檢查模式。保存不同的記錄時可以用不同的域的集合,而其它的域?qū)⒛J(rèn)被視為NULL。

復(fù)制代碼代碼如下:

publicclassUsers1

{

publicObjectIdId{get;set;}

publicstringName{get;set;}

publicintAge{get;set;}

}

publicclassUsers2

{

publicObjectIdId{get;set;}

publicstringName{get;set;}

publicstringLocation{get;set;}

}

publicclassUsers3

{

publicObjectIdId{get;set;}

publicstringName{get;set;}

publicintAge{get;set;}

publicstringLocation{get;set;}

}

privatevoidrbEntity1_CheckedChanged(objectsender,EventArgse)

{

txtName.Enabled=true;

txtAge.Enabled=true;

txtLocation.Enabled=true;

}

privatevoidrbEntity2_CheckedChanged(objectsender,EventArgse)

{

txtName.Enabled=true;

txtAge.Enabled=false;

txtLocation.Enabled=true;

}

privatevoidrbEntity3_CheckedChanged(objectsender,EventArgse)

{

txtName.Enabled=true;

txtAge.Enabled=true;

txtLocation.Enabled=false;

}

privatevoidbtnSave_Click(objectsender,EventArgse)

{

if(rbEntity1.Checked)

{

var_users=_database.GetCollection(users);

varuser=newUsers3{};

user.Age=Convert.ToInt32(txtAge.Text);

user.Name=txtName.Text;

user.Location=txtLocation.Text;

_users.Insert(user);

varid=user.Id;

}

elseif(rbEntity2.Checked)

{

var_users=_database.GetCollection(users);

varuser=newUsers2{};

user.Name=txtName.Text;

user.Location=txtLocation.Text;

_users.Insert(user);

varid=user.Id;

}

elseif(rbEntity3.Checked)

{

var_users=_database.GetCollection(users);

varuser=newUsers1{};

user.Age=Convert.ToInt32(txtAge.Text);

user.Name=txtName.Text;

_users.Insert(user);

varid=user.Id;

}

MessageBox.Show(Userwithname+txtName.Text+created);

}

復(fù)制代碼代碼如下:

///下面的代碼輔助你從Mongo數(shù)據(jù)庫中尋找一條現(xiàn)有記錄。

_collection=_database.GetCollection(users);

IMongoQueryquery=Query.EQ(Name,Anoop);

Users1_user=_collection.FindAs(query).FirstOrDefault();

MessageBox.Show(_user.Age.ToString());

復(fù)制代碼代碼如下:

///下面的代碼輔助你更新Mongo數(shù)據(jù)庫中的一條現(xiàn)有記錄。

_collection=_database.GetCollection(users);

IMongoQueryquery=Query.EQ(Name,Anoop);

Users1_user=_collection.FindAs(query).FirstOrDefault();

Message

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論