MongoDB學習筆記<三>

來源:互聯網
上載者:User

標籤:mongodb   tokumx   nosql   

繼續學習MongoDB,這次主要的學習內容是使用修改器來完成局部的更新操作

1.$set

用來指定一個鍵值對,如果存在鍵就進行修改,不存在就進行添加

db.person.update({"name":"xiaoming"},{$set:{"age":27}})如果age鍵存在,則把age鍵的值變成27,如果不存在,則在文檔中添加age鍵,值為27

2.$inc

只可與數字類型一起使用,它可以把指定的鍵的數值進行加減指定大小的數值

db.person.update({"age":27},{$inc:{"age":1}})這個操作之後age鍵會進行加1

3.$unset

刪除指定的鍵

db.person.update({"age":27},{$unset:{"age":1}})

4.$push

-如果指定的鍵是數組,則增加新的數值.

-如果指定的鍵不是數組,則中斷當前操作.

-如果不存在指定的鍵,則建立數群組類型的鍵值對

db.person.update({"name":"xiaoming"},{$push:{books:"English"})

如果books這個數組存在,則會被加入新的值English

如果books不存在,則會建立books數組,並添加值English

如果books這個鍵已經存在並且不是數組,則會報錯

5.$pushAll

可以批量的往數組中添加資料

db.person.uipdate({"name":"xiaoming"},{$pushAll:["Math","Chinese","PE"]})

6.addToSet

 目標數組存在此項,則不操作,不存在,則把此項加進去

db.person.update({"name":"xiaoming"},{$addToSet:{books:"Math"}})

7.$pop

從指定的數組中刪除一個值,1刪除最後一個值,-1刪除第一個值

db.person.update({"name":"xiaoming"},{$pop:{books:-1}})

8.$pull

刪除一個指定的數值

db.person.update({"name":"xiaoming"},{$pull:{books:"English"}})

9.$pullAll

一次性刪除多個指定的數值

db.person.update({"name":"xiaoming"},{$pullAll:{books:["English","Math"]}})

10.$

數組定位器,如果數組有多個數值,我們只想對其中的一部分進行操作,就要用到定位器$

例如:

如果有文檔{"name":"xiaoming",books:[{"type":"JS","name":"EXTJS4"},{"type":"JS","name":"JQUERY"}},{"type":"DB","name":" MongoDB"}}]}

想要把type等於JS的文檔增加一個相同的作者author是xiaohua

db.person.update({"books.type":"JS"},{$set:{"books.$.author":"xiaohua"}})


切記:修改器是放在最外面,後面要提到的查詢器是放到內層的!

















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.