在mysql或者redis上做这个比较容易,mongodb自增也还好,自减还真是有点反思维。
自增
自增比较简单,使用$inc指令就可以实现。
原始数据:
{ "_id" : ObjectId("576ceb93278b27e0866bbd0e"), "money" : 100 }
自增操作:
db.user.update({"_id": ObjectId("576ceb93278b27e0866bbd0e")}, {$inc: {money: 10}}) { "_id" : ObjectId("576ceb93278b27e0866bbd0e"), "money" : 110.0000000000000000 }
自减
官方手册翻来翻去,一直没有看到decrement这样的指令,后来才发现可以通过$inc指令,只是数值变为负数就可以了。
db.user.update({"_id": ObjectId("576ceb93278b27e0866bbd0e")}, {$inc: {money: -10}}) { "_id" : ObjectId("576ceb93278b27e0866bbd0e"), "money" : 100.0000000000000000 }
看来不能用常规思维去想问题。
转载请注明:快乐编程 » mongodb中实现数字自增和自减