具有设置的Mongodb更新字段

问题描述 投票:0回答:1

在mongoDb中,我有一个更新字段的问题。

我有一个名为userleavelist的集合,在此我有一个名为sickLeave的列。此列的字符串值像病残:“ 10.00”。我需要通过减去一些也是字符串“ 01.00”的值来更新此字段。我在尝试的查询下方给出了该值。 (即)10.00-01.00 = 09.00 in sickLeave column

db.userleavelist.update({ 
    "userId": ObjectId(5d9fd84d3d598088d2ea5e0d) 
},{ 
    "$inc": { { '$toInt': '$sickLeave' }: -1 } 
})

但是在实现此目标方面遇到问题。有人帮助我。

mongodb
1个回答
0
投票

由于您有"10.00",所以$toInt将不起作用。他们的文档说,

您不能转换浮点数,十进制或非基数10的字符串值(例如“ -5.0”,“ 0x6400”)

为了使其正常工作,字符串值必须是整数,即"10",而不是"10.00"

Read More

我认为您应该尝试使用$toDecimal而不是$toInt

© www.soinside.com 2019 - 2024. All rights reserved.