建立、更新、刪除文檔。 --- Mongodb權威指南閱讀。

來源:互聯網
上載者:User

標籤:

插入文檔:

  db.foo.insert({ "key" : "value"});

  使用insert插入一個資料,文檔中如果沒有_id 會自動給文檔增加_id.

  batchInsert(Array)  批量插入,接受一個文檔數組做參數。

    使用批量插入最大長度48M,如果過程中一個失敗,失敗之前會插入成功,之後全都失敗。

    可以設定continueOnError 選項設定忽略錯誤並且繼續插入。

  插入校正: 所有文檔必須都小於16M。

刪除文檔:

  db.foo.remove();

    上述命令會刪除foo集合中所有文檔,不會刪除集合本身,也不會刪除集合的元資訊。remove可以接受一個查詢文檔作為選擇性參數。

    刪除是永久性的,不可以撤消,也不能恢複。

    刪除文檔通常很快,但是要清空整個集合,使用drop直接刪除集合,再從空集合上重建各項索引會更快。

更新文檔:

  db.user.update(參數1,參數2)

  第一個參數查詢文檔,第二個參數修改器文檔。

    常見錯誤,查問文檔匹配多個文檔,更新時第二個參數產生了重讀的_id 值,資料庫會拋出錯誤。任何文檔都不會更新。

      使用_id查詢比使用隨機欄位速度快,因為通過_id建立的索引。

  增加修改或刪除鍵時最好使用修改器,避免替換原文檔。

使用修改器:

  $set : 用來指定一個欄位的值,如果不存在這個欄位,則建立它。  $set可以修改鍵的類型。 ---->  $unset 刪除某個鍵。

  $inc : 用來增加已有鍵的值,如果不存在就建立一個。 $inc 只能操作整型,長整型,或者雙精確度浮點型的值。 $inc 的值 必須為數字。

  $push :  向以後數組末尾加入一個元素,如果沒有就建立一個新的數組。

  $each : 遍曆數組, 可以配合$push 操作添加多個值。

  $slice :  設定數組最大長度, $slice 的值必須是負整數。 $slice 和 $push 組合使用 可以保證數組不會超過設定的最大長度。

  $sort : 清理資料 

  $ne :  保證數組內的元素不會重複。

  $addToSet : 如果文檔不存在,就添加進去。

  $pop : 可以從數組的任何一端刪除元素。 {"$pop" : {"key" : 1}} 從數組末尾刪除。 {"$pop" : {"key" : -1}}  從數組頭部刪除。

  $pull :  基於特定條件來刪除元素。 $pull 會講所有匹配到的文檔刪除。

  $ : 基於位置的數組修改器。 用來定位查詢文檔已經匹配的數組元素,並進行更新。

    db.blog.update({ "comments.author" : "jhon"},

      ... {"$set" : {"comments.$.author" : "jim"}})

 upsert :  如果沒找到符合更新條件的文檔,就以條件文檔和更新文檔,建立一個新的文檔。

  預設情況,更新智能對合格第一個文檔執行操作。如果有多個文檔符合條件,只有第一個文檔回被更新。 如果匹配所有文檔需要將update 第四個參數設定為true。

findAndModify : 在一個造作中返回匹配的結果,並進行更新。

  可選欄位:

    findAndmodify : 字串,集合名。

    query : 查詢文檔。

    sort : 排序的結果條件。

    update : 修改器文檔。

    remove : 布爾類型,表示是否刪除文檔。

    new :  布爾類型, 表示返回更新前的文檔還是更新後的文檔。預設是更新前的文檔。

    fields : 文檔中需要返回的欄位。

    upsert : 布爾類型, 當true是 表示這是一個upsert 預設為false。

 

  

  

  

建立、更新、刪除文檔。 --- Mongodb權威指南閱讀。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.