更新文档(update)
作者:互联网
修改一条简单文档:
db.getCollection("test").insert( { title: "商品购物单1", amount: 35, detail: [ {name: "苹果", price: 22}, {name: "面粉", price: 18} ] } ); //修改符合条件的一条(插入的,符合条件的最早一条) db.getCollection("test").update( { title: "商品购物单1" }, { $set: {title: "商品购物单2"} } );
(update,修改符合条件的一条(插入的,符合条件的最早一条))
更新字段(增加,减少):
db.getCollection("test").update( { title: "商品购物单1" }, { $inc: {"amount": 5} } );
(update,修改符合条件的一条(插入的,符合条件的最早一条)。$inc操作符后面的值,可以是正数、负数,也可以是小数)
改为指定倍数:
db.getCollection("test").update( { title: "商品购物单1" }, { $mul: {"amount": 2} } );
(update,修改符合条件的一条(插入的,符合条件的最早一条)。$mul操作符后面的值,可以是正数、负数,也可以是小数)
更新字段/键名
db.getCollection("test").insert( { _id: 66, titlss: 35, amount: 50.5, detail: [ {name: "苹果", price: 22}, {name: "面粉", price: 18} ] } ); db.getCollection("test").update( { _id: 66 }, { $rename: {"titlss": "title"} } );
($rename 操作符。在键名大量出错的情况下尤其有用)
将_id为66,title为35的这一列去掉(其他数据条的title不变)
db.getCollection("test").update( { _id: 66 }, { $unset: {"title": "35"} } );
(其他数据条的title不变,title为35的变为N/A)
_id:66文档的amount由50.5修改为50:
db.getCollection("test").update( { _id: 66 }, { $unset: {"title": "35"} } );
(将$min给出的值与当前文档字段值进行比较,当给定值较小时则修改当前文档值为给定值)
_id:66文档的amount由50修改为50.5:
db.getCollection("test").update( { _id: 66 }, { $max: {"amount": 50.5} } );
(将$max 给出的值与当前文档字段值进行比较,当给定值较大时则修改当前文档值为给定值)
标签:title,db,getCollection,更新,update,文档,66,test 来源: https://blog.51cto.com/5660061/2422140