Merge pull request #463 from njh/redis-object

Added support for storing a msg.payload of type object in a Redis hash
This commit is contained in:
Nick O'Leary 2014-11-01 21:19:45 +00:00
commit f89ddb5f7a
2 changed files with 9 additions and 5 deletions

View File

@ -40,7 +40,7 @@
</div>
<div class="form-tips">
If key is blank, the topic will be used as the key.<br>
If type is hash, payload should be field=value.
If type is hash, payload should be an object or field=value string.
</div>
</script>

View File

@ -84,11 +84,15 @@ module.exports = function(RED) {
if (this.structtype == "string") {
this.client.set(k,RED.util.ensureString(msg.payload));
} else if (this.structtype == "hash") {
var r = hashFieldRE.exec(msg.payload);
if (r) {
this.client.hset(k,r[1],r[2]);
if (typeof msg.payload == "object") {
this.client.hmset(k,msg.payload);
} else {
this.warn("Invalid payload for redis hash");
var r = hashFieldRE.exec(msg.payload);
if (r) {
this.client.hset(k,r[1],r[2]);
} else {
this.warn("Invalid payload for redis hash");
}
}
} else if (this.structtype == "set") {
this.client.sadd(k,msg.payload);