其他分享
首页 > 其他分享> > 更新文档(update)

更新文档(update)

作者:互联网

图片.png



修改一条简单文档:

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"}
    }
);

图片.png(其他数据条的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