要将限制设置为$inc,请使用以下语法-
db.yourCollectionName.update({yourFieldName : {$lt : yourValue}}, {$inc : {yourFieldName : yourIncrementValue}},false,true);
首先让我们创建一个包含文档的集合-
> db.limitIncrementDemo.insertOne({"StudentId":101,"StudentScore":95}); { "acknowledged" : true, "insertedId" : ObjectId("5cd2ce9eb64f4b851c3a13c3") } > db.limitIncrementDemo.insertOne({"StudentId":102,"StudentScore":55}); { "acknowledged" : true, "insertedId" : ObjectId("5cd2cea0b64f4b851c3a13c4") } > db.limitIncrementDemo.insertOne({"StudentId":103,"StudentScore":67}); { "acknowledged" : true, "insertedId" : ObjectId("5cd2cea1b64f4b851c3a13c5") } > db.limitIncrementDemo.insertOne({"StudentId":104,"StudentScore":56}); { "acknowledged" : true, "insertedId" : ObjectId("5cd2cea3b64f4b851c3a13c6") } > db.limitIncrementDemo.insertOne({"StudentId":105,"StudentScore":79}); { "acknowledged" : true, "insertedId" : ObjectId("5cd2cea4b64f4b851c3a13c7") }
以下是在find()
方法的帮助下显示集合中所有文档的查询-
> db.limitIncrementDemo.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5cd2ce9eb64f4b851c3a13c3"), "StudentId" : 101, "StudentScore" : 95 } { "_id" : ObjectId("5cd2cea0b64f4b851c3a13c4"), "StudentId" : 102, "StudentScore" : 55 } { "_id" : ObjectId("5cd2cea1b64f4b851c3a13c5"), "StudentId" : 103, "StudentScore" : 67 } { "_id" : ObjectId("5cd2cea3b64f4b851c3a13c6"), "StudentId" : 104, "StudentScore" : 56 } { "_id" : ObjectId("5cd2cea4b64f4b851c3a13c7"), "StudentId" : 105, "StudentScore" : 79 }
以下是将limit设置为$inc的查询-
> db.limitIncrementDemo.update({StudentScore : {$lt : 75}}, {$inc : {StudentScore : 10}},false,true); WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })
让我们检查上述集合中的所有文档-
> db.limitIncrementDemo.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5cd2ce9eb64f4b851c3a13c3"), "StudentId" : 101, "StudentScore" : 95 } { "_id" : ObjectId("5cd2cea0b64f4b851c3a13c4"), "StudentId" : 102, "StudentScore" : 65 } { "_id" : ObjectId("5cd2cea1b64f4b851c3a13c5"), "StudentId" : 103, "StudentScore" : 77 } { "_id" : ObjectId("5cd2cea3b64f4b851c3a13c6"), "StudentId" : 104, "StudentScore" : 66 } { "_id" : ObjectId("5cd2cea4b64f4b851c3a13c7"), "StudentId" : 105, "StudentScore" : 79 }