mongodb 更新update

來源:互聯網
上載者:User

標籤:python mongo update

1.$inc

用法:{$inc:{field:value}}

作用:對一個數字欄位的某個field增加value

> db.test1.update({‘name‘:‘wang‘},{$inc:{age:1}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "name" : "wang", "age" : 20, "sex" : "M" }


2.$set

用法:{$set:{field:value}}

作用:把文檔中某個欄位field的值設為value

> db.test1.update({‘name‘:‘wang‘},{$set:{‘sex‘:‘F‘}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "name" : "wang", "age" : 20, "sex" : "F" }


3.$unset

用法:{$unset:{field:1}}

作用:刪除某個欄位field

> db.test1.update({‘name‘:‘wang‘},{$unset:{‘sex‘:1}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "name" : "wang" }


4.$push

用法:{$push:{field:value}}

作用:把value追加到field裡。註:field只能是數群組類型,如果field不存在,會自動插入一個數群組類型

> db.test1.update({‘name‘:‘wang‘},{$push:{‘sex‘:‘F‘}})

> db.test1.update({‘name‘:‘wang‘},{$push:{‘sex‘:‘M‘}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "name" : "wang", "sex" : [  "F",  "M" ] }


5.pushAll

用法:{$pushAll:{field:value_array}}

作用:用法同$push一樣,只是$pushAll可以一次追加多個值到一個數組欄位內。

> db.test1.update({‘name‘:‘wang‘},{$pushAll:{‘sex‘:[‘M or F‘,‘M and F‘]}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "name" : "wang", "sex" : [  "F",  "M",  "M or F",  "M and F" ] }


> db.test1.update({‘name‘:‘wang‘},{$push:{‘sex‘:[‘M or F‘,‘M and F‘]}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "name" : "wang", "sex" : [  "F",  "M",  "M or F",  "M and F",  [  "M or F",  "M and F" ] ] }


6.$addToSet

用法:{$addToSet:{field:value}}

作用:加一個值到數組內,而且只有當這個值在數組中不存在時才增加。

> db.test1.update({‘name‘:‘wang‘},{$addToSet:{‘sex‘:[‘M or F‘,‘MF‘]}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "name" : "wang", "sex" : [ "F", "M", "M or F", "M and F", [ "M or F", "M and F" ], [ "M or F", "MF" ] ] }


7.$pop

用法:刪除數組內第一個值:{$pop:{field:-1}}、刪除數組內最後一個值:{$pop:{field:1}}

作用:用於刪除數組內的一個值

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "name" : "wang", "sex" : [  "F",  "M",  "M or F",  "M and F" ] }

> db.test1.update({‘name‘:‘wang‘},{$pop:{‘sex‘:1}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "name" : "wang", "sex" : [  "F",  "M",  "M or F" ] }


8.$pull

用法:{$pull:{field:_value}}

作用:從數組field內刪除一個等於_value的值

> db.test1.update({‘name‘:‘wang‘},{$pull:{‘sex‘:"F"}})

> db.test1.find({‘name‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "name" : "wang", "sex" : [  "M",  "M or F" ] }


10.$rename

用法:{$rename:{old_field_name:new_field_name}}

作用:對欄位進行重新命名

> db.test1.update({‘name‘:‘wang‘},{$rename:{‘name‘:‘names‘}})

> db.test1.find({‘name‘:‘wang‘})

> db.test1.find({‘names‘:‘wang‘})

{ "_id" : ObjectId("58662477fb6a734e8f45133f"), "age" : 20, "names" : "wang", "sex" : [  "M",  "M or F" ] }


mongodb 更新update

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.