MongoDB入門(mén)學(xué)習(xí)2 - 常用命令

1,關(guān)系型數(shù)據(jù)庫(kù)與Mongodb的術(shù)語(yǔ)類(lèi)比

1.1涵卵,術(shù)語(yǔ)對(duì)比介紹

Mysql術(shù)語(yǔ) MongoDB術(shù)語(yǔ) 介紹
database database 數(shù)據(jù)庫(kù)
table collection 數(shù)據(jù)庫(kù)表 – 集合
row document 數(shù)據(jù)記錄 – 文檔
column field 數(shù)據(jù)字段 – 域
index index 索引 – 索引
table-join 內(nèi)嵌 表連接 - 內(nèi)嵌
primary key primary key 主鍵

1.2,術(shù)語(yǔ)補(bǔ)充說(shuō)明

  • 集合(collection)就是關(guān)系型書(shū)庫(kù)中的表
  • 文檔(document)對(duì)應(yīng)關(guān)系型數(shù)據(jù)庫(kù)中的行,文檔就是一個(gè)JSON對(duì)象茵宪,由KEY=VALUE鍵值對(duì)構(gòu)成,例如
{"name":"admin", "gender":"男"}
  • 集合可以存儲(chǔ)多個(gè)文檔瘦棋,結(jié)構(gòu)不固定
{"name":"admin", "gender":"男"}
{"name":"manager", "age":23}
{"name":"manager", "phone":"16868686868"}
  • 數(shù)據(jù)庫(kù)可以存儲(chǔ)多個(gè)集合
  • 服務(wù)器眉厨,一個(gè)服務(wù)器中可以包含多個(gè)數(shù)據(jù)庫(kù)

1.3,文檔的邏輯聯(lián)系

  • 假設(shè)有兩個(gè)文檔:
#user文檔
{
   "name": "Tom Hanks",
   "contact": "987654321",
   "dob": "01-01-1991"
}
#address文檔
{
   "building": "22 A, Indiana Apt",
   "pincode": 123456,
   "city": "chengdu",
   "state": "sichuan"
}
  • 關(guān)系1:嵌入式關(guān)系兽狭,把 address 文檔嵌入到 user 文檔中
#這就是嵌入式的關(guān)系
{
   "name": "Tom Hanks",
   "contact": "987654321",
   "dob": "01-01-1991",
   "address":
   [{
   "building": "22 A, Indiana Apt",
   "pincode": 123456,
   "city": "chengdu",
   "state": "sichuan"
    },
    {
    "building": "170 A, Acropolis Apt",
    "pincode": 456789,
    "city": "beijing",
    "state": "beijing"
    }]
} 
  • 關(guān)系2:引用式關(guān)系:將兩個(gè)文檔分開(kāi)憾股,通過(guò)引用文檔的_id字段來(lái)建立關(guān)系
#這就是引用式關(guān)系
{
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin",
   "address_ids": [
      ObjectId("52ffc4a5d85242602e000000")  #對(duì)應(yīng)address文檔的id字段
   ]
}

2,MongoDB的基本數(shù)據(jù)類(lèi)型

文檔是 MongoDB 的核心箕慧,類(lèi)似于 SQLite 數(shù)據(jù)庫(kù)(關(guān)系數(shù)據(jù)庫(kù))中的每一行數(shù)據(jù)服球。多個(gè)鍵及其關(guān)聯(lián)的值放在一起就是文檔。在 Mongodb 中使用一種類(lèi) json 的 bson 存儲(chǔ)數(shù)據(jù)颠焦,bson 數(shù)據(jù)可以理解為在 json 的基礎(chǔ)上添加了一些 json 中沒(méi)有的數(shù)據(jù)類(lèi)型斩熊。

  • ObjectID:文檔id
  • String:字符串
  • Boolean:布爾值
  • Integer:整數(shù)
  • Double:浮點(diǎn)數(shù)
  • Arrays:數(shù)組或者列表
  • Object:嵌入的文檔
  • Null:空值
  • Timestamp:時(shí)間戳
  • Date:日期時(shí)間

3,MongoDB的常用命令

3.1伐庭,數(shù)據(jù)庫(kù)操作

  • 執(zhí)行mongo連接到本地mongo服務(wù)
    mongo

  • 查看當(dāng)前的數(shù)據(jù)庫(kù)
    db

  • 展示所有的數(shù)據(jù)庫(kù)
    show dbs

  • 選擇單個(gè)數(shù)據(jù)庫(kù)
    use person

  • 刪除數(shù)據(jù)庫(kù)
    db.dropDatabase()

3.2粉渠,集合操作

  • 賬號(hào)所有集合
    show collections

  • 創(chuàng)建一個(gè)集合
    db.createCollection("users")

  • 創(chuàng)建名字為users的集合
    db.users.drop()

  • capped默認(rèn)false,表示不設(shè)置上限圾另,true表示設(shè)置上限霸株,需要設(shè)置size參數(shù),表示達(dá)到上限時(shí)會(huì)將之前的數(shù)據(jù)覆蓋
    db.createCollection("dept", {"capped": true, size: 5})

3.3集乔,文檔的操作去件,增刪查改

  • 增加指定集合的數(shù)據(jù),db.<集合名稱(chēng)>.insert()
    使用insert向集合中插入數(shù)據(jù)(如果沒(méi)有users集合,mongodb則會(huì)自動(dòng)創(chuàng)建)
    db.users.insert([
    { name : "jam",
    email : "jam@qq.com"
    },
    { name : "tom",
    email : "tom@qq.com"
    }
    ])

  • 保存指定集合的數(shù)據(jù)尤溜,db.<集合名稱(chēng)>.save()
    使用save向集合中插入數(shù)據(jù)(如果沒(méi)有users集合倔叼,mongodb則會(huì)自動(dòng)創(chuàng)建)
    db.users.save([
    { name : "jam",
    email : "jam@qq.com"
    },
    { name : "tom",
    email : "tom@qq.com"
    }
    ])

  • 查詢(xún)指定集合的數(shù)據(jù),db.<集合名稱(chēng)>.find()
    db.users.find()

  • 更新指定集合的數(shù)據(jù)宫莱,db.<集合名稱(chēng)>.update()
    db.student.update({name:"tom"}, {name:"jerry"})

  • 刪除指定集合的數(shù)據(jù)丈攒,db.<集合名稱(chēng)>.remove()
    db.student.remove(<query>, {justone:<boolean>})

4,參考頁(yè)面

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末授霸,一起剝皮案震驚了整個(gè)濱河市巡验,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绝葡,老刑警劉巖深碱,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異藏畅,居然都是意外死亡敷硅,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)愉阎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绞蹦,“玉大人,你說(shuō)我怎么就攤上這事榜旦∮钠撸” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵溅呢,是天一觀的道長(zhǎng)澡屡。 經(jīng)常有香客問(wèn)我,道長(zhǎng)咐旧,這世上最難降的妖魔是什么驶鹉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮铣墨,結(jié)果婚禮上室埋,老公的妹妹穿的比我還像新娘。我一直安慰自己伊约,他們只是感情好姚淆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著屡律,像睡著了一般腌逢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疹尾,一...
    開(kāi)封第一講書(shū)人閱讀 51,521評(píng)論 1 304
  • 那天上忍,我揣著相機(jī)與錄音骤肛,去河邊找鬼纳本。 笑死窍蓝,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的繁成。 我是一名探鬼主播吓笙,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼巾腕!你這毒婦竟也來(lái)了面睛?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤尊搬,失蹤者是張志新(化名)和其女友劉穎叁鉴,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體佛寿,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幌墓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冀泻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片常侣。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖弹渔,靈堂內(nèi)的尸體忽然破棺而出胳施,到底是詐尸還是另有隱情,我是刑警寧澤肢专,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布舞肆,位于F島的核電站,受9級(jí)特大地震影響博杖,放射性物質(zhì)發(fā)生泄漏椿胯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一欧募、第九天 我趴在偏房一處隱蔽的房頂上張望压状。 院中可真熱鬧,春花似錦跟继、人聲如沸种冬。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)娱两。三九已至,卻和暖如春金吗,著一層夾襖步出監(jiān)牢的瞬間十兢,已是汗流浹背趣竣。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留旱物,地道東北人遥缕。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像宵呛,于是被迫代替她去往敵國(guó)和親单匣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

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