仅递增 MongoDB 文档中的单个值?
要仅更新 MongoDB 中的单个值并对其进行增量,请使用 $inc 以及 update()。让我们创建一个包含文档的集合 −
> db.demo698.insertOne({Score:78}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6d8a4551299a9f98c9398") } > db.demo698.insertOne({Score:56}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6d8a7551299a9f98c9399") } > db.demo698.insertOne({Score:65}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6d8aa551299a9f98c939a") } > db.demo698.insertOne({Score:88}); { "acknowledged" : true, "insertedId" : ObjectId("5ea6d8b0551299a9f98c939b") }
利用 find() 方法显示集合中的所有文档 −
> db.demo698.find();
这将生成以下输出 −
{ "_id" : ObjectId("5ea6d8a4551299a9f98c9398"), "Score" : 78 } { "_id" : ObjectId("5ea6d8a7551299a9f98c9399"), "Score" : 56 } { "_id" : ObjectId("5ea6d8aa551299a9f98c939a"), "Score" : 65 } { "_id" : ObjectId("5ea6d8b0551299a9f98c939b"), "Score" : 88 }
以下是仅递增单个值的查询 −
> db.demo698.update({_id:ObjectId("5ea6d8b0551299a9f98c939b")},{$inc:{Score:12}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
利用 find() 方法显示集合中的所有文档 −
> db.demo698.find();
这将生成以下输出 −
{ "_id" : ObjectId("5ea6d8a4551299a9f98c9398"), "Score" : 78 } { "_id" : ObjectId("5ea6d8a7551299a9f98c9399"), "Score" : 56 } { "_id" : ObjectId("5ea6d8aa551299a9f98c939a"), "Score" : 65 } { "_id" : ObjectId("5ea6d8b0551299a9f98c939b"), "Score" : 100 }
广告