MongoDB 筆記

MongoDB的優(yōu)勢:

  • 性能快
  • 查詢語言豐富
  • 高可用
  • 橫向擴展

和關(guān)系型數(shù)據(jù)庫的比較

RDBMS MongoDB
Database Database
Table Collection
Tuple/Row Document
column Field
Table Join Embedded Documents
Primary Key Primary Key (Default key _id provided by mongodb itself)

使用一個database

use myDB

insert 會創(chuàng)建database和collection剪菱,如果它們不存在

use myNewDB

db.myNewCollection1.insert( { x: 1 } )

從collection中查詢出所有documents:

db.COLLECTION_NAME.find()

find中可以帶查詢條件:

Paste_Image.png

and 查詢條件:

>db.mycol.find(
   {
      $and: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

or 查詢條件:

>db.mycol.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

find可以帶第二個參數(shù)代表要顯示哪些field,為1的key代表要顯示的孝常,0的key代表不顯示

>db.COLLECTION_NAME.find({},{KEY:1})

limit()限制find返回結(jié)果的數(shù)量,skip()表示跳過結(jié)果的數(shù)量

db.COLLECTION_NAME.find().limit(NUMBER)

db.mycol.find({},{"title":1,_id:0}).limit(1).skip(1)

sort()將結(jié)果排序构灸,1代表正序上渴,-1代表逆序:

>db.COLLECTION_NAME.find().sort({KEY:1})

update document:

>db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA) //僅替換field

{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}

>db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}})
>db.mycol.find()
{ "_id" : ObjectId(5983548781331adf45ec5), "title":"New MongoDB Tutorial"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
>

save() document 不帶id同insert稠氮,帶id會將相同id的document進行替換

remove document:不帶參數(shù)刪除collection所有document,帶參數(shù)刪除特定document

db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)

可以對document的field建立index半开,加速查詢,1代表正序寂拆,-1代表逆序

db.mycol.ensureIndex({"title":1,"description":-1})

Aggregation and pipeline:

Paste_Image.png

MapReduce

Paste_Image.png

Replica Set

Replica Set是多個mongod的集合,每一個mongod稱為node纠永,有一個primary node和多個secondary node鬓长。所有寫操作都在primary node上進行渺蒿,然后同步到secondary node上。

Paste_Image.png

建立replica set

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0

連接上mongod
rs.initiate()
rs.add(HOST_NAME:PORT) //添加其他mongod,只能在primary node上操作

Shards

每個shard存儲一部分數(shù)據(jù)怠蹂,橫向擴展,每個shard是一個Replica set

Paste_Image.png
  • Shard:存儲數(shù)據(jù)城侧,每個shard是一個replica set
  • Config Server: 存儲數(shù)據(jù)在shard中的分布易遣,Router通過查詢config server來確定每個查詢對應(yīng)哪個shard嫌佑,生產(chǎn)環(huán)境中有三個config server
  • Router:將客戶端的查詢分配到shard上,一個cluster可以有多個router屋摇。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炮温,隨后出現(xiàn)的幾起案子火脉,更是在濱河造成了極大的恐慌柒啤,老刑警劉巖倦挂,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件担巩,死亡現(xiàn)場離奇詭異,居然都是意外死亡涛癌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門拳话,熙熙樓的掌柜王于貴愁眉苦臉地迎上來笛丙,“玉大人假颇,你說我怎么就攤上這事骨稿”考Γ” “怎么了坦冠?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辙浑。 經(jīng)常有香客問我,道長判呕,這世上最難降的妖魔是什么倦踢? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮辱挥,結(jié)果婚禮上犁嗅,老公的妹妹穿的比我還像新娘晤碘。我一直安慰自己,他們只是感情好园爷,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布宠蚂。 她就那樣靜靜地躺著童社,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叠洗。 梳的紋絲不亂的頭發(fā)上甘改,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天灭抑,我揣著相機與錄音,去河邊找鬼腾节。 笑死忘嫉,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的庆冕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼劈榨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了同辣?” 一聲冷哼從身側(cè)響起拷姿,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤旱函,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后棒妨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體踪古,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年拘泞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜈出。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖铡原,靈堂內(nèi)的尸體忽然破棺而出偷厦,到底是詐尸還是另有隱情燕刻,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布卵洗,位于F島的核電站请唱,受9級特大地震影響过蹂,放射性物質(zhì)發(fā)生泄漏十绑。R本人自食惡果不足惜酷勺,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脆诉。 院中可真熱鬧甚亭,春花似錦击胜、人聲如沸亏狰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辰斋。三九已至信不,卻和暖如春亡呵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锰什。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梭姓。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像嫩码,于是被迫代替她去往敵國和親誉尖。 傳聞我的和親對象是個殘疾皇子铸题,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

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