Linux安裝MongoDB并在項(xiàng)目中實(shí)際運(yùn)用

一今缚、MongoDB,一個(gè)數(shù)據(jù)庫(kù)低淡,我們?cè)趺慈ナ褂盟匦昭裕课覀兪紫攘私庖幌率裁词荕ongoDb

官網(wǎng)的介紹是:MongoDB是專為可擴(kuò)展性,高性能和高可用性而設(shè)計(jì)的數(shù)據(jù)庫(kù)蔗蹋。它可以從單服務(wù)器部署擴(kuò)展到大型何荚、復(fù)雜的多數(shù)據(jù)中心架構(gòu)。利用內(nèi)存計(jì)算的優(yōu)勢(shì)猪杭,MongoDB能夠提供高性能的數(shù)據(jù)讀寫操作餐塘。 MongoDB的本地復(fù)制和自動(dòng)故障轉(zhuǎn)移功能使您的應(yīng)用程序具有企業(yè)級(jí)的可靠性和操作靈活性。

二皂吮、在Linux上安裝MongoDB

創(chuàng)建文件

vi /etc/yum.repos.d/mongodb-org-3.6.repo


配置文件內(nèi)容

[mongodb-org-3.6]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc


開始安裝

sudo yum install -y mongodb-org

mongod -repair


然后返回根目錄去創(chuàng)建一個(gè)文件夾data并在其下面創(chuàng)建db來(lái)存儲(chǔ)文件

cd ..

mkdir data

cd data

mkdir db


啟動(dòng)MongoDB并查看狀態(tài)

systemctl start mongod.service

systemctl status mongod.service

創(chuàng)建管理員賬號(hào)

1戒傻、 登錄

mongo

2、創(chuàng)建管理員賬號(hào)

mongo

use admin

db.createUser({user:"root",pwd:"root",roles:[{role:"userAdminAnyDatabase", db:"admin"}]})

找到配置文件并修改其內(nèi)容

vi /etc/mongod.conf

找到 ??bindIp:127.0.0.1 修改為0.0.0.0 這樣就可以任意ip進(jìn)行連接

開啟:27017端口

firewall-cmd --zone=public--permanent --add-port=27017/tcp; firewall-cmd –reload

停止重啟mongodb

systemctl stop mongod.service

systemctl restart mongod.service

這是我們?cè)贚inux上已經(jīng)安裝好了MongoDB,接下來(lái)就可以步入正題了蜂筹,如何在項(xiàng)目中使用MongoDB

三需纳、在.Net Core中使用MongoDB

這里我們首先準(zhǔn)備一個(gè).Net Core 的項(xiàng)目,然后在項(xiàng)目當(dāng)中創(chuàng)建一個(gè)名叫MongoDBHelpers的類

publicclass MongoDBHelpers

? ? {

? ? ? ? ///<summary>/// 建立MongoDB連接

? ? ? ? ///</summary>staticMongoClient mongoClient =newMongoClient(“"mongodb://0.0.0.0:27017”);//自己的mongodb地址///<summary>/// 獲取MongoDB數(shù)據(jù)庫(kù)(admin數(shù)據(jù)庫(kù))

? ? ? ? ///</summary>privatestaticreadonlyIMongoDatabase database = mongoClient.GetDatabase("admin");

? ? ? ? publicstaticIMongoDatabase testDb {get{return database; } }

? ? ? ? //連接需要操作的集合艺挪,如果數(shù)據(jù)庫(kù)下面包含此集合就會(huì)添加數(shù)據(jù)不翩,如果沒有則會(huì)創(chuàng)建此集合

????????publicstaticIMongoCollection GetMongoTest => database.GetCollection("Person");

? ? }


在這里我們連接MongoDB的操作算是完工了,接下來(lái)就是對(duì)數(shù)據(jù)的操作了主要介紹一下增刪改查四步操作

1麻裳、 新增

? ? TestMongoDB testMongoDB =new TestMongoDB();

? ? testMongoDB.Name ="新增";

? ? testMongoDB.TestId =2;

? ? testMongoDB.Sex =1;

? ? MongoDBHelpers.GetMongoTest.InsertOne(testMongoDB);

2口蝠、 刪除

MongoDBHelpers.GetMongoTest.DeleteOne(x => x.Name =="新增");

3、 修改

varoldValue = Builders.Filter.Eq("Name","新增");varnewValue= Builders.Update

? ? ? ? ? ? ? ? .Set("Name","修改")

? ? ? ? ? ? ? ? .Set("TestId","3")

? ? ? ? ? ? ? ? .Set("Sex","1");

MongoDBHelpers.GetMongoTest.UpdateOne(oldValue, newValue);

4掂器、 查詢

MongoDBHelpers.GetMongoTest.Find(x => x.Name =="新增").ToListAsync().GetAwaiter().GetResult();


在MongoDB的操作中會(huì)發(fā)現(xiàn)亚皂,與以往的SqlServer,Oracle的操作有點(diǎn)不同国瓮,修改的操作相對(duì)較為麻煩一點(diǎn)灭必。但現(xiàn)在我們也完成了在.Net Core中對(duì)MongoDB的操作了。

四乃摹、查看MongoDB中的數(shù)據(jù)(Linux禁漓、客戶端Studio 3T)

首先我們來(lái)了解在Linux中如何查看MongoDB數(shù)據(jù)庫(kù)使用情況:

登錄mongodb

mongo

查看數(shù)據(jù)庫(kù)

show dbs

使用操作某一個(gè)數(shù)據(jù)庫(kù)(使用admin)

? use admin

?操作數(shù)據(jù)

db.Person.find()//查詢db.Person.remove({"Name":"新增"})//刪除db.Person.insert({"Name":"新增"}//新增db.Person.update({"Name":"新增"},{"Name":"修改"})? 修改


上面就是Linux的一些操作,我們?cè)倏聪氯绻麑?shí)在windows上我們?cè)趺慈ゲ榭辞闆r以及操作呢

Windows使用MongoDB的話需要下載客戶端Studio 3T:https://studio3t.com/download/

然后按照提示一步一步安裝即可孵睬,成功之后我們打開程序播歼。


首先去創(chuàng)建一個(gè)連接


這里輸入你MongoDB部署的ip地址即可連接,連接成功就可以對(duì)可以對(duì)MongoDB進(jìn)行操作了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秘狞,一起剝皮案震驚了整個(gè)濱河市叭莫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌烁试,老刑警劉巖雇初,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異减响,居然都是意外死亡靖诗,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門支示,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)刊橘,“玉大人,你說(shuō)我怎么就攤上這事颂鸿〈倜啵” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵据途,是天一觀的道長(zhǎng)绞愚。 經(jīng)常有香客問(wèn)我叙甸,道長(zhǎng)颖医,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任裆蒸,我火速辦了婚禮熔萧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘僚祷。我一直安慰自己佛致,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布辙谜。 她就那樣靜靜地躺著俺榆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪装哆。 梳的紋絲不亂的頭發(fā)上罐脊,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音蜕琴,去河邊找鬼萍桌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛凌简,可吹牛的內(nèi)容都是我干的上炎。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼雏搂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼藕施!你這毒婦竟也來(lái)了寇损?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤裳食,失蹤者是張志新(化名)和其女友劉穎润绵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胞谈,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尘盼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烦绳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卿捎。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖径密,靈堂內(nèi)的尸體忽然破棺而出午阵,到底是詐尸還是另有隱情,我是刑警寧澤享扔,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布底桂,位于F島的核電站,受9級(jí)特大地震影響惧眠,放射性物質(zhì)發(fā)生泄漏籽懦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一氛魁、第九天 我趴在偏房一處隱蔽的房頂上張望暮顺。 院中可真熱鬧,春花似錦秀存、人聲如沸捶码。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惫恼。三九已至,卻和暖如春澳盐,著一層夾襖步出監(jiān)牢的瞬間祈纯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工洞就, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盆繁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓旬蟋,卻偏偏與公主長(zhǎng)得像油昂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • NoSql數(shù)據(jù)庫(kù)優(yōu)缺點(diǎn) 在優(yōu)勢(shì)方面主要體現(xiàn)在下面幾點(diǎn): 簡(jiǎn)單的擴(kuò)展 快速的讀寫 低廉的成本 靈活的數(shù)據(jù)模型 在不足...
    dreamer_lk閱讀 2,705評(píng)論 0 6
  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復(fù) [日期:2016-11-29] 來(lái)源:Linux社區(qū) 作...
    陽(yáng)屯okyepd閱讀 3,336評(píng)論 0 7
  • MongoDB是一個(gè)C++編寫的基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)冕碟,是一個(gè)介于關(guān)系和非關(guān)系之間的數(shù)據(jù)庫(kù)拦惋,當(dāng)然也屬于NoSQ...
    Anwar_ec28閱讀 4,693評(píng)論 0 0
  • 一、MongoDB簡(jiǎn)介 1.概述 ? MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)安寺,由C++語(yǔ)言編寫厕妖。旨在為WE...
    鄭元吉閱讀 974評(píng)論 0 2
  • 數(shù)據(jù)庫(kù)相關(guān) 數(shù)據(jù)庫(kù)安裝和配置 安裝之后需要配置環(huán)境變量;驗(yàn)證:mongo命令是否有效啟動(dòng)服務(wù)端: C:User\A...
    強(qiáng)某某閱讀 169評(píng)論 0 0