diff --git a/src/database/mongo/main.js b/src/database/mongo/main.js index 8f326ebb57..475360c2ca 100644 --- a/src/database/mongo/main.js +++ b/src/database/mongo/main.js @@ -117,12 +117,16 @@ module.exports = function(db, module) { if (!key) { return callback(); } - db.collection('objects').update({_key: key}, { $inc: { value: 1 } }, callback); + db.collection('objects').findAndModify({_key: key}, {}, {$inc: {value: 1}}, {new: true, upsert: true}, function(err, result) { + callback(err, result ? result.value : null); + }); }; module.rename = function(oldKey, newKey, callback) { callback = callback || helpers.noop; - db.collection('objects').update({_key: oldKey}, {$set:{_key: newKey}}, {multi: true}, callback); + db.collection('objects').update({_key: oldKey}, {$set:{_key: newKey}}, {multi: true}, function(err, res) { + callback(err); + }); }; module.expire = function(key, seconds, callback) { diff --git a/src/database/redis/main.js b/src/database/redis/main.js index 0ed5d699ca..f0174bf342 100644 --- a/src/database/redis/main.js +++ b/src/database/redis/main.js @@ -99,7 +99,9 @@ module.exports = function(redisClient, module) { }; module.rename = function(oldKey, newKey, callback) { - redisClient.rename(oldKey, newKey, callback); + redisClient.rename(oldKey, newKey, function(err, res) { + callback(err); + }); }; module.expire = function(key, seconds, callback) { diff --git a/src/routes/debug.js b/src/routes/debug.js index 695e806b23..64be1bc49d 100644 --- a/src/routes/debug.js +++ b/src/routes/debug.js @@ -57,6 +57,12 @@ module.exports = function(app, middleware, controllers) { }); router.get('/test', function(req, res) { - res.redirect(404); + //res.redirect(404); + var db = require('../database'); + db.increment('someDerpKey', function(err, value) { + console.log(err, value); + db.delete('someDerpKey'); + res.json('ok'); + }) }); };