2017-10-06 65 views
0

我想用百分比包含一些值。如何在保留類型的同時更新Mongodb中的整數值

即給文檔與"A": 1700我想將它更新爲:(1700 * 1.15)

{$mul: {"A": 1.15}} 

$mul我會有奇怪的結果對於一些值,比如1954.99999998這樣做,它改變了類型到一倍。

像這樣的操作是否存在有效的語法?

{ 
    $set: { 
     "A" : {$trunc: ("A" * 1.15)} 
    } 
} 

如果你看看到的$mul文檔,你會看到,這個操作符可以改變元素數據類型以及你無法控制好它,這是不重視或者

{ 
    $set: { 
     "A" : NumberInt("A" * 1.15) 
     } 
} 

回答

0

。不幸的是,您不能直接在$set運算符中使用任何算術運算。在這種情況下(當您想要將其他操作應用於乘法值時),您需要讀取元素值,應用您的自定義操作,然後將其保存到數據庫中。

+0

所以基本上這個計算不能用mongodb查詢完成?我必須寫一個客戶端腳本?乾杯! –

+0

不幸的是。 – Neodan

相關問題