From a2695f3d171ac9f64893c87d6e562b6176e17b64 Mon Sep 17 00:00:00 2001 From: Alex Stokes Date: Wed, 20 Nov 2013 16:53:47 -0600 Subject: [PATCH] updated RedisClient.prototype.hmset to accept string or numeric keys when calling client.hmset(key, {key1: val1, key2: val2}) --- index.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index f915b460c4..39728bd0f2 100644 --- a/index.js +++ b/index.js @@ -1033,8 +1033,15 @@ RedisClient.prototype.hmset = function (args, callback) { callback = null; } - if (args.length === 2 && typeof args[0] === "string" && typeof args[1] === "object") { + if (args.length === 2 && (typeof args[0] === "string" || typeof args[0] === "number") && typeof args[1] === "object") { // User does: client.hmset(key, {key1: val1, key2: val2}) + // assuming key is a string, i.e. email address + + // if key is a number, i.e. timestamp, convert to string + if (typeof args[0] === "number") { + args[0] = args[0].toString(); + } + tmp_args = [ args[0] ]; tmp_keys = Object.keys(args[1]); for (i = 0, il = tmp_keys.length; i < il ; i++) { @@ -1044,7 +1051,7 @@ RedisClient.prototype.hmset = function (args, callback) { } args = tmp_args; } - + return this.send_command("hmset", args, callback); }; RedisClient.prototype.HMSET = RedisClient.prototype.hmset;