我在 MongoDB 中有一个产品集合。运行 Express 3 和 Mongoose 的应用程序。我正在进行拍卖,当我尝试将产品的价格增加 0.01 时,它工作正常,直到第 6 次,然后转到“1000.0699999999999”而不是 1000.07。知道为什么吗?再点击几下后,它将是:1000.1699999999998 等等。
这是我的更新功能:
app.post('/auctions/add', function(req, res){
//Get username
var user = req.session.username ;
//Product ID from form
var productID = req.body.product_id ;
//Find and update product
//Products.update( { id: productID }, { price: this.price + 0.01 } ).exec() ;
Products.update( { id: productID }, {$inc: { price: .01 }, user_bidding: { username: user, timeBid: new Date() }}, function(err, numberAffected, raw) {
console.log(err);
console.log(numberAffected);
console.log(raw);
} ) ;
//redirect to home
res.redirect( '/' );
}) ;