y45t4r3 发表于 2015-1-4 08:53:32

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

mongoDB中文档存入数据库后用update方法更新文档,update方法有两个参数,例如
update(args1,args2)
args1是指查询文档的条件;
args2是指对查询到的文档进行什么样的修改;

$inc用来增加已用的键值,如果键不存在就创建;
$Inc只能修改的键值必须为整数、长整型和双精度浮点型,不能是其他类型。

使用$inc增加键值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
> 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 })




修改后结果:   


1
2
3
4
5
6
7
8
9
10
11
12
> db.post.findOne({"id":0})   
{   
      "_id" : ObjectId("54a530c3ff0df3732bac167f"),   
      "id" : 0,   
      "name" : "joe",   
      "age" : 71,   
      "comments" : {   
                "1" : 4,   
                "2" : 2,   
                "3" : 3   
      }   
}




使用$inc减少键值:   


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




修改后的结果:   


1
2
3
4
5
6
7
8
9
10
11
12
13
> db.post.findOne({"id":0})   
{   
      "_id" : ObjectId("54a530c3ff0df3732bac167f"),   
      "id" : 0,   
      "name" : "joe",   
      "age" : 55,   
      "comments" : {   
                "1" : 4,   
                "2" : 2,   
                "3" : 3   
      }   
}   
>






页: [1]
查看完整版本: 【MongoDB学习笔记9】深入MongoDB的更新(update)操作:修改器$inc