MongoDB更新文檔

來源:互聯網
上載者:User

標籤:

說明:來看一下關係型資料庫的update語句

 UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某

其中where子句就類似查詢文本,定位要更改的子表,set子句類似於修改器,更新哪些內容。

1.1文檔替換

  就是用一個新的文檔完全替換匹配的文檔。用於進行大規模模式資料的遷移。

例如:

如果要將friends和enemies兩個欄位遷移到relationships子文檔中。可以進行如下操作

step1:

var joe=db.users.findOne({"name":"joe"})

joe.relationships={friend:joe.friends,enemies:joe.enemies}

 

同樣的原理擷取:

joe.username=joe.name;

 

然後刪除原來文檔中的friends,enemies,name

  

step2:更新文檔

db.users.update({name:"joe"},joe)

解釋一下:{name:"joe"}就是要更新的目的文件,joe就是修改器,說明要修改的內容

 

最後的joe文檔內容:

   

1.2使用修改器

通常文檔只會有有一部分資料要更新,可以使用原子性的更新修改器(update modifier),指定對文檔中的某些欄位進行修改。

假設:要在某個集合中存放網站的分析資料,只要有人訪問頁面,就增加計數器。可以使用更新器修改原子性地完成這個增加。

每次有人訪問,就通過url找到該頁面,並用"$inc"修改器來增加"pageviews"的值

>db.analytics.update({url:"www.example.com"},{"$inc":{pageviews:1}})

然後再執行一次db.analytics.find()

資料如下:

資料就增加1。實現了網站統計訪問量的需求。。

 

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.