mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-06-27 21:28:32 +02:00
Merge pull request #5252 from Fusselwurm/patch-2
ZSET scores are float: parseInt => parseFloat
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -115,7 +115,7 @@ module.exports = function (redisClient, module) {
|
||||
}
|
||||
var objects = [];
|
||||
for(var i = 0; i < data.length; i += 2) {
|
||||
objects.push({value: data[i], score: parseInt(data[i + 1], 10)});
|
||||
objects.push({value: data[i], score: parseFloat(data[i + 1])});
|
||||
}
|
||||
callback(null, objects);
|
||||
});
|
||||
@@ -144,7 +144,7 @@ module.exports = function (redisClient, module) {
|
||||
}
|
||||
var objects = [];
|
||||
for(var i = 0; i < data.length; i += 2) {
|
||||
objects.push({value: data[i], score: parseInt(data[i + 1], 10)});
|
||||
objects.push({value: data[i], score: parseFloat(data[i + 1])});
|
||||
}
|
||||
callback(null, objects);
|
||||
});
|
||||
@@ -195,7 +195,7 @@ module.exports = function (redisClient, module) {
|
||||
|
||||
module.sortedSetScore = function (key, value, callback) {
|
||||
redisClient.zscore(key, value, function (err, score) {
|
||||
callback(err, !err ? parseInt(score, 10) : undefined);
|
||||
callback(err, !err ? parseFloat(score) : undefined);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -289,7 +289,7 @@ module.exports = function (redisClient, module) {
|
||||
results = results[1] || [];
|
||||
var objects = [];
|
||||
for(var i = 0; i < results.length; i += 2) {
|
||||
objects.push({value: results[i], score: parseInt(results[i + 1], 10)});
|
||||
objects.push({value: results[i], score: parseFloat(results[i + 1])});
|
||||
}
|
||||
callback(null, objects);
|
||||
});
|
||||
@@ -297,7 +297,7 @@ module.exports = function (redisClient, module) {
|
||||
|
||||
module.sortedSetIncrBy = function (key, increment, value, callback) {
|
||||
redisClient.zincrby(key, increment, value, function (err, newValue) {
|
||||
callback(err, !err ? parseInt(newValue, 10) : undefined);
|
||||
callback(err, !err ? parseFloat(newValue) : undefined);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -419,4 +419,4 @@ module.exports = function (redisClient, module) {
|
||||
callback(null, objects);
|
||||
});
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user