MongoDB入門筆記-1-數(shù)據(jù)類型更鲁、插入霎箍、更新

  1. 基本概念
    MongoDB由Databases組成,可通過use切換不同的DB澡为。
    Databases由Collections(類比mysql的Table)組成漂坏。
    Collection由Documents(類比mysql的row)組成。
    Document由Fields(類比mysql的column)組成。

  2. 基本數(shù)據(jù)類型
    概念上顶别,MongoDB的文檔類似于Javascript中的對象谷徙,類似于JSON

    • null
      表示空值或者不存在的字段
    • 布爾類型
      true或者false
    • 數(shù)值
      默認采用64位浮點型
      整數(shù)可以采用NumberInt(4字節(jié)帶符號整型)或者NumberLong(8字節(jié)帶符號整型):
      {"x": NumberInt("5")}
      {"x": NumberLong("5")}
    • 字符串
    • 日期
      日期被存儲為自新紀元以來的毫秒數(shù),不存儲時區(qū)筋夏。
    • 正則表達式
      查詢時蒂胞,使用正則作為限定條件
      {"x": /abc123/i}
    • 內(nèi)嵌文檔
      文檔嵌套其他文檔
      {"x": {"y": "abc"}}
    • 對象id
      對象id是一個12字節(jié)的ID图呢,是文檔的唯一標識
      {"x": ObjectId()}
  1. 基本操作
    • 插入
      db.foo.insert() :插入
      db.foo.insert({"name": "abc", "age": 25})
      db.foo.batchInsert() :批量插入
      db.foo.batchInsert([{"name": "abc", "age": 12}, {"name": "edf", "age": 23}])

    • 刪除
      db.foo.remove() :不加參數(shù)會刪除所有的文檔条篷,但是不會刪除foo這個collection
      db.foo.remove({"name": "abc"})
      db.foo.drop() :刪除集合

    • 更新
      db.foo.update({"name": "abc"}, {"name": "hihi"})
      不同于mysql,mongo會將后者完全替代第一個參數(shù)查出來的文檔
      如果想只更新某一些值:

      1. 先查出這個文檔蛤织,修改其中的值赴叹,然后用update替換
      2. 使用修改器,inc指蚜、set
        db.foo.update({"name": "abc"}, {"$set": {"name": "edf"}})
        db.foo.update({"name": "abc", {"$inc": {"age": 5}}})
    • upsert
      第三個參數(shù)加 true乞巧,可以在不存在的時候,插入這個文檔
      db.foo.update({"name": "abc"}, {"name":"hihi", "age":12}, true)

    • 其他修改器

      1. $push
        如果數(shù)組存在摊鸡,則向數(shù)組末尾添加一個元素绽媒,不存在則先創(chuàng)建一個新的
    • 更新多個文檔
      將update的第四個參數(shù)設(shè)為true,可以更新多個文檔

數(shù)組免猾。
mongodb db.blog.posts.update({ "title": "A new blog" }, { "$push": {"comments": {"name": "hello", "email": "hello@gmail.com", "comments": ""Good post.}} })

  2. $addToSet
      可以向數(shù)據(jù)集添加新的元素是辕,如果已經(jīng)存在,則不會重復插入
      ```
      db.blog.user.insert({
          "name": "abc",
          "email": ["abc@163.com"]
      })

      db.blog.user.update({"name": "abc"}, 
          {"$addToSet": {"email": "abc@hotmail.com"}
      })
      ```
    3. $pop
        從數(shù)組中取出元素猎提,1表示從尾刪除获三,-1從頭刪除
        ```
        db.blog.user.update({"name":"nannan"}, {"$pop":{"email": -1}})
        ```

      4. $pull
          可以將數(shù)組中所有相等的值取出

          ![image.png](https://upload-images.jianshu.io/upload_images/2434402-2652136be372c239.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
          ![image.png](https://upload-images.jianshu.io/upload_images/2434402-0f5ebaa4b0e82778.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市锨苏,隨后出現(xiàn)的幾起案子疙教,更是在濱河造成了極大的恐慌,老刑警劉巖伞租,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贞谓,死亡現(xiàn)場離奇詭異,居然都是意外死亡葵诈,警方通過查閱死者的電腦和手機裸弦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驯击,“玉大人烁兰,你說我怎么就攤上這事』捕迹” “怎么了沪斟?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我主之,道長择吊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任槽奕,我火速辦了婚禮几睛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘粤攒。我一直安慰自己所森,他們只是感情好,可當我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布夯接。 她就那樣靜靜地躺著焕济,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盔几。 梳的紋絲不亂的頭發(fā)上晴弃,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天,我揣著相機與錄音逊拍,去河邊找鬼上鞠。 笑死,一個胖子當著我的面吹牛芯丧,可吹牛的內(nèi)容都是我干的芍阎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼注整,長吁一口氣:“原來是場噩夢啊……” “哼能曾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起肿轨,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤寿冕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后椒袍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驼唱,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年驹暑,在試婚紗的時候發(fā)現(xiàn)自己被綠了玫恳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡优俘,死狀恐怖京办,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情帆焕,我是刑警寧澤惭婿,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響财饥,放射性物質(zhì)發(fā)生泄漏换吧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一钥星、第九天 我趴在偏房一處隱蔽的房頂上張望沾瓦。 院中可真熱鬧,春花似錦谦炒、人聲如沸玄柏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厅篓。三九已至,卻和暖如春透且,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背豁鲤。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工秽誊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人琳骡。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓锅论,卻偏偏與公主長得像,于是被迫代替她去往敵國和親楣号。 傳聞我的和親對象是個殘疾皇子最易,可洞房花燭夜當晚...
    茶點故事閱讀 45,440評論 2 359

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

  • MongoDB常用操作 一、查詢 find方法 查詢所有的結(jié)果: select * from users;===d...
    止風者閱讀 603評論 1 3
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,464評論 0 13
  • NoSql數(shù)據(jù)庫優(yōu)缺點 在優(yōu)勢方面主要體現(xiàn)在下面幾點: 簡單的擴展 快速的讀寫 低廉的成本 靈活的數(shù)據(jù)模型 在不足...
    dreamer_lk閱讀 2,735評論 0 6
  • 一炫狱、MongoDB簡介 1.概述 ? MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫藻懒,由C++語言編寫。旨在為WE...
    鄭元吉閱讀 978評論 0 2
  • 什么是實用型的書 一般是提供一些通用的規(guī)則视译,包括原理或指導等 兩種類型 一種是在說明規(guī)則嬉荆,比如烹飪書,指南類的書 ...
    07120665a058閱讀 520評論 0 0