亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

.NET連接MongoDB數據庫實例教程

2020-01-24 03:03:13
字體:
來源:轉載
供稿:網友



使用代碼

讓我們從Mongo數據庫的一些細節和基本命令開始,并最終介紹如何創建一個可連接至Mongo數據庫的.NET 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”文件夾下運行“mongod.exe”來啟動Mongo數據庫。


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

創建一個.NET應用
創建一個.NET web/Windows應用。在這個示例中,我們將用一個簡單的員工表。
開始之前,我們需要確保系統中裝有MongoDB的.NET驅動。你可以按下面的步驟來為一個指定的項目安裝驅動。
打開Visual Studio的包管理器:

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

復制代碼 代碼如下:

Install-Package mongocsharpdriver

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

復制代碼 代碼如下:

using MongoDB.Bson;
using MongoDB.Driver;
//此外,你將頻繁的用到下面這些 using 語句中的一條或多條:
using MongoDB.Driver.Builders;
using MongoDB.Driver.GridFS;
using MongoDB.Driver.Linq;


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


復制代碼 代碼如下:

MongoServer _server;
MongoDatabase _database;

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

復制代碼 代碼如下:

private void Form1_Load(object sender, EventArgs e)
{
    string connection = "mongodb://localhost:27017";
    _server = MongoServer.Create(connection);
    _database = _server.GetDatabase("anoop", SafeMode.True);
}

在這里,我們創建了三個使用不同屬性集合的類。我們可以設置這些類的屬性,并將數據保存至同一個數據庫、同一個表。這是無模式數據庫的真正優勢:插入數據時不檢查模式。保存不同的記錄時可以用不同的域的集合,而其它的域 將 默認被視為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)
 {
     txtName.Enabled = true;
     txtAge.Enabled = true;
     txtLocation.Enabled = true;
 }
 private void rbEntity2_CheckedChanged(object sender, EventArgs e)
 {
     txtName.Enabled = true;
     txtAge.Enabled = false;
     txtLocation.Enabled = true;
 }
 private void rbEntity3_CheckedChanged(object sender, EventArgs e)
 {
     txtName.Enabled = true;
     txtAge.Enabled = true;
     txtLocation.Enabled = false;
 }
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (rbEntity1.Checked)
     {
         var _users = _database.GetCollection<users3 />("users");
         var user = new Users3 { };
         user.Age = Convert.ToInt32(txtAge.Text);
         user.Name = txtName.Text;
         user.Location = txtLocation.Text;
         _users.Insert(user);
         var id = user.Id;
     }
     else if (rbEntity2.Checked)
     {
         var _users = _database.GetCollection<users2 />("users");
         var user = new Users2 { };
         user.Name = txtName.Text;
         user.Location = txtLocation.Text;
         _users.Insert(user);
         var id = user.Id;
     }
     else if (rbEntity3.Checked)
     {
         var _users = _database.GetCollection<users1 />("users");
         var user = new Users1 { };
         user.Age = Convert.ToInt32(txtAge.Text);
         user.Name = txtName.Text;
         _users.Insert(user);
         var id = user.Id;
     }
     MessageBox.Show("User with name " + txtName.Text + " created");
 }

復制代碼 代碼如下:

///下面的代碼幫助你從Mongo數據庫中查找一條現有記錄。
_collection = _database.GetCollection<users1 />("users");
IMongoQuery query = Query.EQ("Name", "Anoop");
Users1 _user = _collection.FindAs<users1 />(query).FirstOrDefault();
MessageBox.Show(_user.Age.ToString());

復制代碼 代碼如下:

///下面的代碼幫助你更新Mongo數據庫中的一條現有記錄。
_collection = _database.GetCollection<users1 />("users");
IMongoQuery query = Query.EQ("Name", "Anoop");
Users1 _user = _collection.FindAs<users1 />(query).FirstOrDefault();
MessageBox.Show("Age before update :" + _user.Age.ToString());
//更新年齡的值
_user.Age = 30;

//保存更改           
_collection.Save(_user);
MessageBox.Show("Age after update :" + _user.Age.ToString());

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人1234| 国产成人av在线播放| 成人激情视频在线观看| 欧美日韩在线观看视频小说| 麻豆精品精华液| 日产日韩在线亚洲欧美| 不卡av在线网站| 成人中文字幕+乱码+中文字幕| 亚洲色无码播放| 亚洲精品影视在线观看| 日韩av在线导航| 国产精品成人一区| 国产精品视频在线观看| 91久久精品久久国产性色也91| 亚洲黄色免费三级| 日本精品久久久久久久| 中文字幕亚洲欧美日韩高清| 久久久亚洲影院你懂的| 色综合伊人色综合网| 国产精品久久97| 国产精品在线看| 久久91精品国产91久久久| 91免费看片在线| 国产自产女人91一区在线观看| 国产精品久久久久福利| 国产在线视频不卡| 国产女人精品视频| 欧美国产日韩一区二区| 欧美夜福利tv在线| 综合国产在线观看| 国产mv久久久| xxav国产精品美女主播| 98视频在线噜噜噜国产| 欧美大片免费看| 青青青国产精品一区二区| 久久精品一区中文字幕| 美女少妇精品视频| 日韩av电影手机在线| 亚洲视频视频在线| 中文字幕日韩在线播放| 91精品久久久久久久久久久久久| 国产美女主播一区| 91精品免费久久久久久久久| 91国自产精品中文字幕亚洲| 午夜精品理论片| 日韩欧美亚洲综合| 国产成人精品在线视频| 亚洲视频在线视频| 亚洲欧美在线第一页| 亚洲精品欧美一区二区三区| 久久香蕉精品香蕉| 亚洲欧美自拍一区| 亚洲无限乱码一二三四麻| 国产在线拍偷自揄拍精品| 欧美日韩国产成人在线| 欧美寡妇偷汉性猛交| 国产成人综合av| 日韩免费观看高清| 亚洲色图第三页| 久久久国产视频91| 日韩av在线直播| 久久香蕉国产线看观看av| 欧美性精品220| 91精品国产高清自在线| 久久久久久久一区二区三区| 欧美巨乳在线观看| 亚洲国产精品嫩草影院久久| 久久久综合av| 热99精品里视频精品| 欧美国产日韩一区二区三区| 亚洲精品99久久久久| 精品久久久久久亚洲国产300| 97视频在线免费观看| 亚洲欧美精品suv| 国产欧美精品久久久| 欧美日韩免费在线| 国产精品视频xxxx| 欧美日韩高清在线观看| 国产精品女主播| 亚洲高清在线观看| 精品亚洲一区二区三区| 国产日韩视频在线观看| 久久久久亚洲精品国产| 亚洲欧美日韩精品久久亚洲区| 91色视频在线观看| 成年无码av片在线| 国产乱肥老妇国产一区二| xxxxxxxxx欧美| 国产视频999| 亚洲va电影大全| 超在线视频97| 欧美日韩另类视频| 国产亚洲在线播放| 国产精品极品尤物在线观看| 国产免费亚洲高清| 中文字幕九色91在线| 久久久久久久影院| 亚洲肉体裸体xxxx137| 欧美日韩成人免费| 欧美性猛交xxxx免费看久久久| 国内自拍欧美激情| 欧美一级黄色网| 欧美老女人xx| 欧美日韩国产丝袜另类| 亚洲一区二区三区在线视频| 国产成人一区二区三区电影| 久久亚洲精品中文字幕冲田杏梨| 91性高湖久久久久久久久_久久99| 国产香蕉精品视频一区二区三区| 中文字幕国产精品| 久久久久久成人精品| 亚洲高清免费观看高清完整版| 国产日韩视频在线观看| 日韩激情片免费| 日韩精品极品在线观看| 亚洲成人久久久久| 久久久久久国产精品| 久久精品视频导航| 亚洲精品一区二区三区不| 中文字幕九色91在线| 欧美午夜精品久久久久久人妖| 日本视频久久久| 国产精品video| 成人女保姆的销魂服务| 欧美视频一区二区三区…| 午夜精品一区二区三区av| 51ⅴ精品国产91久久久久久| 1769国产精品| 91色视频在线观看| 国产成人jvid在线播放| 欧美黑人一级爽快片淫片高清| 91日韩在线视频| 亚洲黄色成人网| 国产亚洲一级高清| 奇门遁甲1982国语版免费观看高清| 91精品视频观看| 色综合天天狠天天透天天伊人| 成人精品一区二区三区电影免费| 久久91精品国产91久久久| 日韩欧美一区二区在线| 久久久精品一区二区| 国产精品视频999| 欧美猛交ⅹxxx乱大交视频| 欧美一级大片在线观看| 蜜臀久久99精品久久久无需会员| 精品久久久999| 国产成人精品久久久| 欧美日韩国产一区二区三区| 亚洲free嫩bbb| 亚洲九九九在线观看| 成人网在线观看| 777777777亚洲妇女| 最近中文字幕日韩精品| 日韩精品在线观看网站| 亚洲成人激情小说| 国产亚洲一级高清| 久久成人在线视频| 色777狠狠综合秋免鲁丝| 欧美老妇交乱视频| 国产亚洲精品激情久久| 久久免费视频这里只有精品| 91av成人在线| 欧美精品制服第一页| 国产91亚洲精品|