MongoDB(一)

?????Mongodb是非關(guān)系型數(shù)據(jù)庫中的一種分布式文件存儲的數(shù)據(jù)庫。Mongodb和Redis通常作為數(shù)據(jù)緩存配合MySQL使用。


nosql.png

?????如圖所示,用戶請求數(shù)據(jù)杨名,應(yīng)用將會先檢查內(nèi)存中的redis或者mongodb是否對請求的數(shù)據(jù)有緩存,如果有就直接返回猖毫,沒有的話再向MySQL請求台谍。

????? MySQL與Mongodb比較:

比較.png

?????Mongodb三要素:數(shù)據(jù)庫,集合吁断,文檔趁蕊。

常用

  • db:查看當(dāng)前數(shù)據(jù)庫
  • show dbs:查看所有數(shù)據(jù)庫
  • use dbnanme:使用這個數(shù)據(jù)庫,如果沒有的話就會創(chuàng)建一個新的數(shù)據(jù)庫
  • db.dropDatabase():刪除當(dāng)前數(shù)據(jù)庫
  • db.createCollection(name,options):創(chuàng)建一個集合
    ?????name:是要創(chuàng)建集合的名字
    ?????options:是一個文檔仔役,用于指定集合的配置掷伙,可選
db.createCollection('stu',{capped:true,size:10})
//如果只寫name,capped的默認(rèn)值是false又兵,不會限制集合的大小任柜,設(shè)為true卒废,size為10的時候表示表示上限大小,當(dāng)文檔達到上限時宙地,會將之前的數(shù)據(jù)覆蓋掉
  • show collections:查看當(dāng)前數(shù)據(jù)庫中有幾個集合
  • db.collectionname.drop():刪除名為××的集合
  • db.collectionname.insert({鍵值對}):給集合插入數(shù)據(jù)
db.stu.insert({name:'John',gender:1})
  • db.collectionname.find():簡單查詢
  • db.collectionname.update(
    <query>,
    <update>,
    {multi:<boolean>}
    )
    :修改數(shù)據(jù),multi默認(rèn)為false摔认,表示只更新找到的第一條數(shù)據(jù),ture為所有滿足條件的都修改
db.stu.update(
{name:'hr'},
{name:'Mary'}
)//在stu集合中找到name為hr的數(shù)據(jù)宅粥,將其文檔替換為下面的文檔{name:'Mary'}

如果只想修改文檔的屬性需要$set

db.stu.update(
{name:'hr'},
{$set:{name:'Mary'}}
)//在stu集合中找到name為hr的數(shù)據(jù)参袱,將其name屬性改為Mary
  • db.collectionname.save(文檔):保存,如果文檔的_id已經(jīng)存在粹胯,執(zhí)行修改操作蓖柔,如果文檔的_id不存在,執(zhí)行添加操作
db.stu.save({_id:'20181111',name:'Mike'})
  • db.collectionname.remove(
    <query>,
    {justOne:<boolean>}
    )
    :query刪除文檔的條件风纠,justOne默認(rèn)為false,刪除多條
db.stu.remove(
  {name:'hr'},
  {justOne:true}
)

db.stu.remove({})//全部刪除

簡單查詢

  • find():查詢所有滿足條件的
db.collectionname.find({文檔條件})
  • findOne():查詢牢贸,只返回第一個
  • pretty():將結(jié)果格式化
db.collectionname.find({文檔條件}).pretty()
  • 幾個比較運算符:
    $lt:小于
    $gt:大于
    $lte:小于等于
    $gte:大于等于
    $ne:不等于
db.stu.find({age:{$gte:18}})//查詢年齡大于等于18的
  • 邏輯運算符:
    ?????

數(shù)據(jù)類型

  • Object ID:文檔ID
  • String:字符串竹观,必須是有效的utf-8
  • Boolean:布爾類型
  • Integer:整數(shù)可以是32位或者64位取決于服務(wù)器
  • Double:浮點數(shù)
  • Array:數(shù)組或列表,多個值存儲到一個鍵
  • Object: 用于嵌入式的文檔潜索,即一個值為一個文檔
  • Null:空值
  • Timestamp:時間戳
  • Date:存儲當(dāng)前日期或時間的unix時間格式
    Object ID是一個12字節(jié)的十六進制數(shù)
    前4個字節(jié)為當(dāng)前時間戳
    接下來3個字節(jié)為機器ID
    接下來2個字節(jié)為mongodb的服務(wù)進程id
    最后3個字節(jié)是簡單的增量值
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末臭增,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子竹习,更是在濱河造成了極大的恐慌誊抛,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件整陌,死亡現(xiàn)場離奇詭異拗窃,居然都是意外死亡,警方通過查閱死者的電腦和手機泌辫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門随夸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人震放,你說我怎么就攤上這事宾毒。” “怎么了殿遂?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵诈铛,是天一觀的道長。 經(jīng)常有香客問我墨礁,道長幢竹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任饵溅,我火速辦了婚禮妨退,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己咬荷,他們只是感情好冠句,可當(dāng)我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幸乒,像睡著了一般懦底。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上罕扎,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天聚唐,我揣著相機與錄音,去河邊找鬼腔召。 笑死杆查,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的臀蛛。 我是一名探鬼主播亲桦,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浊仆!你這毒婦竟也來了客峭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤抡柿,失蹤者是張志新(化名)和其女友劉穎舔琅,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洲劣,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡备蚓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了闪檬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片星著。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖粗悯,靈堂內(nèi)的尸體忽然破棺而出虚循,到底是詐尸還是另有隱情,我是刑警寧澤样傍,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布横缔,位于F島的核電站,受9級特大地震影響衫哥,放射性物質(zhì)發(fā)生泄漏茎刚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一撤逢、第九天 我趴在偏房一處隱蔽的房頂上張望膛锭。 院中可真熱鬧粮坞,春花似錦、人聲如沸初狰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奢入。三九已至筝闹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腥光,已是汗流浹背关顷。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留武福,地道東北人议双。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像艘儒,于是被迫代替她去往敵國和親聋伦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,922評論 2 361

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

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,953評論 2 89
  • 1. MongoDB 簡介 MongoDB是一個可擴展的高性能界睁,開源,模式自由兵拢,面向文檔的NoSQL翻斟,基于分布式文...
    rhlp閱讀 1,118評論 0 3
  • 簡介 MongoDB 是一個基于分布式文件存儲的NoSQL數(shù)據(jù)庫 由C++語言編寫,運行穩(wěn)定说铃,性能高 旨在為 WE...
    大熊_7d48閱讀 37,382評論 1 9
  • 一访惜、MongoDB簡介 概述MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,由C++語言編寫腻扇。旨在為WEB應(yīng)用提供...
    未央_m閱讀 712評論 0 1
  • 今天的晨讀內(nèi)容來自《少有人走的路》债热。 當(dāng)年這本書在美國創(chuàng)下了出版史上的一大奇跡;十年前幼苛,在國內(nèi)出版窒篱。 本書從自律、...
    一米的樹洞閱讀 353評論 0 0