千家信息网

【MongoDB学习笔记9】深入MongoDB的更新(update)操作:修改器$inc

发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,ongoDB中文档存入数据库后用update方法更新文档,update方法有两个参数,例如update(args1,args2)args1是指查询文档的条件;args2是指对查询到的文档进行什么样的修
千家信息网最后更新 2024年10月21日【MongoDB学习笔记9】深入MongoDB的更新(update)操作:修改器$inc

ongoDB中文档存入数据库后用update方法更新文档,update方法有两个参数,例如

update(args1,args2)

args1是指查询文档的条件;

args2是指对查询到的文档进行什么样的修改;

$inc用来增加已用的键值,如果键不存在就创建;

$Inc只能修改的键值必须为整数、长整型和双精度浮点型,不能是其他类型。


使用$inc增加键值:

> db.post.findOne({"id":0})   {            "_id" : ObjectId("54a530c3ff0df3732bac167f"),            "id" : 0,            "name" : "joe",            "age" : 65,            "comments" : {                    "1" : 4,                    "2" : 2,                    "3" : 3            }    }    > db.post.update({"id":0}, {$inc:{"age":6}})    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

修改后结果:

> db.post.findOne({"id":0})    {            "_id" : ObjectId("54a530c3ff0df3732bac167f"),            "id" : 0,            "name" : "joe",            "age" : 71,            "comments" : {                    "1" : 4,                    "2" : 2,                    "3" : 3            }    }

使用$inc减少键值:

> db.post.update({"id":0}, {$inc:{"age":-16}})    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

修改后的结果:

> db.post.findOne({"id":0})    {            "_id" : ObjectId("54a530c3ff0df3732bac167f"),            "id" : 0,            "name" : "joe",            "age" : 55,            "comments" : {                    "1" : 4,                    "2" : 2,                    "3" : 3            }    }    >



0