これは、私にとって redis cilent とノード js の初日です。
node.js の redis-cli を介して実行するこのコマンドを複製しようとしています。
127.0.0.1:6379> HGETALL widgets:9145090003_00:00_00:00
1) "id"
2) "33305"
3) "loc"
4) "jamaica"
5) "days"
6) ""
nodejs コードは次のとおりです。
client.hgetall("widgets:9145090003_00:00_00:00", function (err, replies) {
console.log(err);
replies.forEach(function (reply,i) {
console.log(' ' + i + ':' + reply);
});
});
null が返され、foreach を実行しようとして失敗します。
私も試しました:
client.hgetall("widgets", function (err, replies) {
console.log(err);
replies.forEach(function (reply,i) {
console.log(' ' + i + ':' + reply);
});
});
しかし、私は同じ結果を得ます。
私が間違っているのかわかりません。
編集1
私はこのコードを試しました:
17 console.log("attempting to do hgetall..");
18 client.hgetall("widgets:9145090003_00:00_00:00", function (err, replies) {
19 //for (let k in replies) console.log(' ${k}:${replies[k]}');
20 console.log(replies.id);
21 });
結果は次のとおりです。
/var/www/html/node/test/models/Widgets.js:20
console.log(replies.id);
^
TypeError: Cannot read property 'id' of null
それでも、CLIでこれを行うことができます:
127.0.0.1:6379> HGET widgets:9145090003_00:00_00:00 id
"33305"
127.0.0.1:6379> HGETALL widgets:9145090003_00:00_00:00
1) "id"
2) "33305"
3) "loc"
4) "jamaica"
5) "days"
6) ""
127.0.0.1:6379>