From c8393d6f8787eae07484979afb8c2cfae41bf384 Mon Sep 17 00:00:00 2001 From: Moritz Schmidt Date: Sun, 11 Dec 2016 15:58:57 +0100 Subject: [PATCH] mongo: set scores as float instead of int --- src/database/mongo/sorted.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/database/mongo/sorted.js b/src/database/mongo/sorted.js index 11d4676b95..583794a380 100644 --- a/src/database/mongo/sorted.js +++ b/src/database/mongo/sorted.js @@ -17,7 +17,7 @@ module.exports = function (db, module) { value = helpers.valueToString(value); - db.collection('objects').update({_key: key, value: value}, {$set: {score: parseInt(score, 10)}}, {upsert:true, w: 1}, function (err) { + db.collection('objects').update({_key: key, value: value}, {$set: {score: parseFloat(score)}}, {upsert:true, w: 1}, function (err) { if (err && err.message.startsWith('E11000 duplicate key error')) { return process.nextTick(module.sortedSetAdd, key, score, value, callback); } @@ -38,7 +38,7 @@ module.exports = function (db, module) { var bulk = db.collection('objects').initializeUnorderedBulkOp(); for(var i = 0; i < scores.length; ++i) { - bulk.find({_key: key, value: values[i]}).upsert().updateOne({$set: {score: parseInt(scores[i], 10)}}); + bulk.find({_key: key, value: values[i]}).upsert().updateOne({$set: {score: parseFloat(scores[i])}}); } bulk.execute(function (err) { @@ -56,7 +56,7 @@ module.exports = function (db, module) { var bulk = db.collection('objects').initializeUnorderedBulkOp(); for(var i = 0; i < keys.length; ++i) { - bulk.find({_key: keys[i], value: value}).upsert().updateOne({$set: {score: parseInt(score, 10)}}); + bulk.find({_key: keys[i], value: value}).upsert().updateOne({$set: {score: parseFloat(score)}}); } bulk.execute(function (err) { @@ -564,7 +564,7 @@ module.exports = function (db, module) { } var data = {}; value = helpers.valueToString(value); - data.score = parseInt(increment, 10); + data.score = parseFloat(increment); db.collection('objects').findAndModify({_key: key, value: value}, {}, {$inc: data}, {new: true, upsert: true}, function (err, result) { // if there is duplicate key error retry the upsert