mongoDB-基礎(chǔ)教程筆記(一)

安裝

mongoDB官網(wǎng) 下載 MongoDB 的最新版本,直接一路next诬像,如果想自定義安裝Choose Setup Type處選擇Custon

創(chuàng)建數(shù)據(jù)目錄

數(shù)據(jù)目錄需要我們手動(dòng)創(chuàng)建,這里我在F盤(pán)根目錄創(chuàng)建了data闸婴,在data下面創(chuàng)建了db(命令行坏挠,手動(dòng)都可以)

啟動(dòng)MOngoDB

在命令行中執(zhí)行mongod.exe文件,(必須在你所安裝的MongoDB目錄下的bin目錄內(nèi)執(zhí)行)

mongod.exe --dbpath F:\data\db

后面的 'F:\data\db' 就是要啟動(dòng)的數(shù)據(jù)庫(kù)的目錄地址

連接MongoDB

在上一步啟動(dòng)過(guò)的前提下邪乍,雙擊MongoDB目錄下bin目錄中的mongo.exe就可以用mongoDB的shell連接數(shù)據(jù)庫(kù)降狠,其他種連接方式以后再實(shí)驗(yàn)

創(chuàng)建數(shù)據(jù)庫(kù)

輸入命令:

> use jsl
swiched to db jsl   # 輸出信息

這時(shí)对竣,就會(huì)創(chuàng)建出jsl命名的數(shù)據(jù)庫(kù)

查看當(dāng)前所在的數(shù)據(jù)庫(kù):

> db
jsl # 輸出信息

查看數(shù)據(jù)庫(kù)列表:

> show dbs
admin 0.000GB   # 輸出信息
local 0.000GB   # 輸出信息

這時(shí),并看不到我們剛創(chuàng)建的jsl的數(shù)據(jù)庫(kù)喊熟,這是因?yàn)閭€(gè)人創(chuàng)建的柏肪,空數(shù)據(jù)庫(kù)是不會(huì)顯示的

我們往這個(gè)數(shù)據(jù)庫(kù)里放一些數(shù)據(jù)

> db.jsl.insert({"name":"jsl"})
WriteResult({ "nInserted":1 })  # 輸出信息

再次查看數(shù)據(jù)庫(kù)列表:

> show dbs
admin 0.000GB   # 輸出信息
jsl   0.000GB   # 輸出信息
local 0.000GB   # 輸出信息

刪除數(shù)據(jù)庫(kù)

語(yǔ)法格式

db.dropDatabase()

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

> show dbs
admin 0.000GB   # 輸出信息
jsl   0.000GB   # 輸出信息  
local 0.000GB   # 輸出信息

然后切換到j(luò)sl數(shù)據(jù)庫(kù)中:

> use jsl
switched to db jsl  # 輸出信息

執(zhí)行刪除命令:

> db.dropDatabase()
{ "dropped" : "jsl", "ok": 1 }

然后驗(yàn)證一下姐刁,是否刪除成功:

> show dbs
admin 0.000GB  # 輸出信息
local 0.000GB  # 輸出信息

數(shù)據(jù)庫(kù)列表只剩下兩個(gè)芥牌,說(shuō)明jsl數(shù)據(jù)庫(kù)已經(jīng)刪除

刪除集合

語(yǔ)法:

db.collection.drop()

重新再創(chuàng)建一個(gè)叫jsl的數(shù)據(jù)庫(kù),并且切換到j(luò)sl中聂使,插入數(shù)據(jù):

db.jsl.insert({"name": "jsl"})

查看集合:

> show tables
jsl

刪除集合:

> db.jsl.drop()
true

再查看集合:

show tables

輸出為空壁拉,說(shuō)明刪除成功

插入文檔

所有存在集合中的數(shù)據(jù)都是BSON格式(BSON是 類json的一種二進(jìn)制形式的存儲(chǔ)格式,簡(jiǎn)稱Binary JSON)

插入文檔

MongoDB 使用 insert() 或 save() 方法向集合中插入文檔柏靶,語(yǔ)法如下:

db.COLLECTION_NAME.insert(document)

實(shí)例:

在jsl數(shù)據(jù)庫(kù)中的col表中插入文檔:

> db.col.insert(
    title: 'MongoDB ',
    description: 'MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫(kù)'
})

col是集合名弃理,如果集合名不存在,就會(huì)自動(dòng)創(chuàng)建一個(gè)屎蜓,并插入文檔痘昌,執(zhí)行下列命令查看是否插入文檔:

> bd.col.find()
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫(kù)" }   # 輸出信息

還有另一種方式是一樣的效果:將數(shù)據(jù)定義為一個(gè)變量,將變量插入到數(shù)據(jù)庫(kù)

> document= {title: 'MongoDB 教程',
    description: 'MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫(kù)'
};

然后執(zhí)行插入操作:

> db.col.insert(document)
WriteResult({ "nInserted" : 1 })  # 輸出信息

注:db.sol.save(document)命令也可以達(dá)到同樣的效果炬转,save()傳 '_id'字段參數(shù)的話可以完成更新該 '_id'的數(shù)據(jù)辆苔。

更新文檔

MongoDB 使用 update() 和 save() 方法來(lái)更新集合中的文檔。接下來(lái)讓我們?cè)敿?xì)來(lái)看下兩個(gè)函數(shù)的應(yīng)用及其區(qū)別扼劈。

update()方法

update()方法用于更新已存在的文檔 驻啤,語(yǔ)法格式如下:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

參數(shù)說(shuō)明:

  • query: update的查詢條件
  • update: update的對(duì)象和一些更新的操作符(如$,$inc)
  • upsert: 可選,意思是如果不存在update的記錄,是否插入objNew; 默認(rèn)是false.
  • multi: 可選,默認(rèn)是false:只更新找到的第一條記錄;如果參數(shù)為true,就是把所有查找到的記錄全部更新
  • writeConcern: 可選,拋出異常的級(jí)別.

實(shí)例

在集合col中插入數(shù)據(jù):

>db.col.insert({
    name: '張三',
    age: 20
})

然后用update()來(lái)更新name:

> db.col.update('name': '我是名字',{$set:{'name':'我是已更新的名字'}})
WriteResult({ "nMatched":1,"nUpserted":0,"nModified":1 })  # 輸出信息

再次輸入命令查看數(shù)據(jù):

> db.col.find()

{ "_id" : ObjectId("5911725e0275fd608c69ed6a"), "name" : "我是已更新的名字" }  #輸出信息

可以看得出,我們的名字已經(jīng)被更新.
后面如果加參數(shù),的格式如下

db.col.update('name': '我是名字',{$set:{'name':'我是已更新的名字'}}, {multi:true})

save()方法

語(yǔ)法如下:

db.collection.save(
    <document>,
    {
        writeConcern: <document>
    }
)

參數(shù)說(shuō)明:

  • document: 文檔數(shù)據(jù).
  • writeConcern: 可選,拋出異常的級(jí)別.

實(shí)例

db.col.save({ "_id" : ObjectId("591192d80275fd608c69ed6b"), "name" : "我是來(lái)替換之前名字的名字", "age" : 20 })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市荐吵,隨后出現(xiàn)的幾起案子骑冗,更是在濱河造成了極大的恐慌,老刑警劉巖先煎,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贼涩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡薯蝎,警方通過(guò)查閱死者的電腦和手機(jī)磁携,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)良风,“玉大人谊迄,你說(shuō)我怎么就攤上這事⊙萄耄” “怎么了统诺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)疑俭。 經(jīng)常有香客問(wèn)我粮呢,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任啄寡,我火速辦了婚禮豪硅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挺物。我一直安慰自己懒浮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布识藤。 她就那樣靜靜地躺著砚著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪痴昧。 梳的紋絲不亂的頭發(fā)上稽穆,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音赶撰,去河邊找鬼舌镶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛豪娜,可吹牛的內(nèi)容都是我干的餐胀。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼侵歇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼骂澄!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起惕虑,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤坟冲,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后溃蔫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體健提,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年伟叛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了私痹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡统刮,死狀恐怖紊遵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情侥蒙,我是刑警寧澤暗膜,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站鞭衩,受9級(jí)特大地震影響学搜,放射性物質(zhì)發(fā)生泄漏娃善。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一瑞佩、第九天 我趴在偏房一處隱蔽的房頂上張望聚磺。 院中可真熱鬧,春花似錦炬丸、人聲如沸瘫寝。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)矢沿。三九已至滥搭,卻和暖如春酸纲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瑟匆。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工闽坡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人愁溜。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓疾嗅,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親冕象。 傳聞我的和親對(duì)象是個(gè)殘疾皇子代承,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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