mongodb会增加这个数字,但我会减少它?
在第一次查询中,我将sp_金额增加了1.6。然后我把它减到-1.6,它仍然增加了值!如何纠正这一点 用于递增的查询: db.userwalletcreditlogs.findOneAndUpdate({transaction\u id: “8zioEPVWX7UA7VXSE2U01WCDI”},{$set:{stripe\u transfer\u id :“tr_1bbkxaceourzs8wvkxbqjwut”},$inc:{sp_金额:1.6}) 输出: “sp_金额”:181.6,mongodb会增加这个数字,但我会减少它?,mongodb,Mongodb,在第一次查询中,我将sp_金额增加了1.6。然后我把它减到-1.6,它仍然增加了值!如何纠正这一点 用于递增的查询: db.userwalletcreditlogs.findOneAndUpdate({transaction\u id: “8zioEPVWX7UA7VXSE2U01WCDI”},{$set:{stripe\u transfer\u id :“tr_1bbkxaceourzs8wvkxbqjwut”},$inc:{sp_金额:1.6}) 输出: “sp_金额”:181.6, “条带
“条带传输id”:“tr_1BBkxaCOEurZs8WVkXBqJwUT” 用于递减的查询: db.userwalletcreditlogs.findOneAndUpdate({transaction_id:'8ZIoEPVWX7UA7VXSE2U01WCDI},{$set:{stripe_transfer_id:'tr_1BBkxaCOEurZs8WVkXBqJwUT},$inc:{sp_amount 1.6}) 输出: “sp_金额”:183.2,
“条带传输id”:“tr_1BBkxaCOEurZs8WVkXBqJwUT”
findOneAndUpdate
将在应用操作之前返回对象。结果见下文:
> db.test.save({i: 0.0})
WriteResult({ "nInserted" : 1 })
> db.test.find()
{ "_id" : ObjectId("59df362e6ecc1229670714fb"), "i" : 0 }
> db.test.findOneAndUpdate({ "_id" : ObjectId("59df362e6ecc1229670714fb")}, {$inc: {i: 1.6} })
{ "_id" : ObjectId("59df362e6ecc1229670714fb"), "i" : 0 }
> db.test.findOneAndUpdate({ "_id" : ObjectId("59df362e6ecc1229670714fb")}, {$inc: {i: -1.6} })
{ "_id" : ObjectId("59df362e6ecc1229670714fb"), "i" : 1.6 }
> db.test.find()
{ "_id" : ObjectId("59df362e6ecc1229670714fb"), "i" : 0 }
如果要在应用更新后获取对象,需要传入{returnNewDocument:true}
选项,请参见下面的相同示例:
> db.test.save({i: 0.0})
WriteResult({ "nInserted" : 1 })
> db.test.find()
{ "_id" : ObjectId("59df37406ecc1229670714fd"), "i" : 0 }
> db.test.findOneAndUpdate({ "_id" : ObjectId("59df37406ecc1229670714fd")}, {$inc: {i: 1.6} }, {returnNewDocument:true})
{ "_id" : ObjectId("59df37406ecc1229670714fd"), "i" : 1.6 }
> db.test.findOneAndUpdate({ "_id" : ObjectId("59df37406ecc1229670714fd")}, {$inc: {i: -1.6} }, {returnNewDocument:true})
{ "_id" : ObjectId("59df37406ecc1229670714fd"), "i" : 0 }
> db.test.find()
{ "_id" : ObjectId("59df37406ecc1229670714fd"), "i" : 0 }
>
有关更多信息,请参阅文档-
findOneAndUpdate
将在应用操作之前返回对象。结果见下文:
> db.test.save({i: 0.0})
WriteResult({ "nInserted" : 1 })
> db.test.find()
{ "_id" : ObjectId("59df362e6ecc1229670714fb"), "i" : 0 }
> db.test.findOneAndUpdate({ "_id" : ObjectId("59df362e6ecc1229670714fb")}, {$inc: {i: 1.6} })
{ "_id" : ObjectId("59df362e6ecc1229670714fb"), "i" : 0 }
> db.test.findOneAndUpdate({ "_id" : ObjectId("59df362e6ecc1229670714fb")}, {$inc: {i: -1.6} })
{ "_id" : ObjectId("59df362e6ecc1229670714fb"), "i" : 1.6 }
> db.test.find()
{ "_id" : ObjectId("59df362e6ecc1229670714fb"), "i" : 0 }
如果要在应用更新后获取对象,需要传入{returnNewDocument:true}
选项,请参见下面的相同示例:
> db.test.save({i: 0.0})
WriteResult({ "nInserted" : 1 })
> db.test.find()
{ "_id" : ObjectId("59df37406ecc1229670714fd"), "i" : 0 }
> db.test.findOneAndUpdate({ "_id" : ObjectId("59df37406ecc1229670714fd")}, {$inc: {i: 1.6} }, {returnNewDocument:true})
{ "_id" : ObjectId("59df37406ecc1229670714fd"), "i" : 1.6 }
> db.test.findOneAndUpdate({ "_id" : ObjectId("59df37406ecc1229670714fd")}, {$inc: {i: -1.6} }, {returnNewDocument:true})
{ "_id" : ObjectId("59df37406ecc1229670714fd"), "i" : 0 }
> db.test.find()
{ "_id" : ObjectId("59df37406ecc1229670714fd"), "i" : 0 }
>
有关更多信息,请查看文档-您能给我们提供更多信息吗?上下文,代码示例,诸如此类的东西?你能给我们更多的信息吗?上下文,代码示例,诸如此类的东西?谢谢。它帮助了我。!非常感谢。它帮助了我。!