久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      <small id="aebxz"><menu id="aebxz"></menu></small>
    1. NET連接MongoDB數(shù)據(jù)庫(kù)實(shí)例方法

      時(shí)間:2022-06-27 09:14:38 數(shù)據(jù)庫(kù)操作系統(tǒng) 我要投稿
      • 相關(guān)推薦

      NET連接MongoDB數(shù)據(jù)庫(kù)實(shí)例方法

        使用代碼

        讓我們從Mongo數(shù)據(jù)庫(kù)的一些細(xì)節(jié)和基本命令開(kāi)始,并最終介紹如何創(chuàng)建一個(gè)可連接至Mongo數(shù)據(jù)庫(kù)的.NET Windows應(yīng)用。

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

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

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

        Ad hoc 查詢(xún)

        1 標(biāo)引

        2 復(fù)制

        3負(fù)載均衡

        4 文件存貯

        5 聚合

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

        7 定容集合

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

        數(shù)據(jù)文件夾創(chuàng)建好以后,可以通過(guò)用命令行提示符在“bin”文件夾下運(yùn)行“mongod.exe”來(lái)啟動(dòng)Mongo數(shù)據(jù)庫(kù)。

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

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

        創(chuàng)建一個(gè).NET web/Windows應(yīng)用。在這個(gè)示例中,我們將用一個(gè)簡(jiǎn)單的員工表。

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

        打開(kāi)Visual Studio的包管理器:

        打開(kāi)包管理器控制臺(tái)后,用戶(hù)可以執(zhí)行下面的命令:

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

        Install-Package mongocsharpdriver

        在項(xiàng)目中添加對(duì)下列命名空間的引用:

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

        using MongoDB.Bson;

        using MongoDB.Driver;

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

        using MongoDB.Driver.Builders;

        using MongoDB.Driver.GridFS;

        using MongoDB.Driver.Linq;

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

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

        MongoServer _server;

        MongoDatabase _database;

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

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

        private void Form1_Load(object sender, EventArgs e)

        {

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

        _server = MongoServer.Create(connection);

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

        }

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

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

        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("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("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("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");

        }

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

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

        _collection = _database.GetCollection("users");

        IMongoQuery query = Query.EQ("Name", "Anoop");

        Users1 _user = _collection.FindAs(query).FirstOrDefault();

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

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

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

        _collection = _database.GetCollection("users");

        IMongoQuery query = Query.EQ("Name", "Anoop");

        Users1 _user = _collection.FindAs(query).FirstOrDefault();

        MessageBox.Show("Age before :" + _user.Age.ToString());

        //更新年齡的值

        _user.Age = 30;

        //保存更改

        _collection.Save(_user);

        MessageBox.Show("Age after :" + _user.Age.ToString());

      【NET連接MongoDB數(shù)據(jù)庫(kù)實(shí)例方法】相關(guān)文章:

      6個(gè)安全設(shè)置mongodb數(shù)據(jù)庫(kù)的命令07-01

      使用Java程序連接各種數(shù)據(jù)庫(kù)的方法07-01

      電路的連接方法07-03

      用php連接oracle數(shù)據(jù)庫(kù)的代碼06-28

      計(jì)算機(jī)三級(jí)數(shù)據(jù)庫(kù)知識(shí):數(shù)據(jù)庫(kù)在連接中常見(jiàn)錯(cuò)誤解決方法06-28

      收縮SQL數(shù)據(jù)庫(kù)的方法06-28

      windows下mongodb安裝教程06-28

      戴爾平板電腦連接藍(lán)牙耳機(jī)的方法07-12

      小米2連接電腦的方法07-10

      MySQL數(shù)據(jù)庫(kù)備份守則和方法04-22