La cosa che ho trovato funzionante è stata memorizzare la chiave come identificatore univoco e stringere l'intero oggetto durante la memorizzazione dei dati e l'applicazione di JSON.parse durante l'estrazione.
Codice di esempio:
client
.setAsync(obj.deviceId.toString(), JSON.stringify(obj))
.then((doc) => {
return client.getAsync(obj.deviceId.toString());
})
.then((doc) => {
return JSON.parse(doc);
}).catch((err) => {
return err;
});
Sebbene la stringa e quindi l'analisi sia un'operazione pesante dal punto di vista computazionale e bloccherà il server Node.js se la dimensione di JSON diventa grande. Probabilmente sono pronto a prendere un colpo per una minore complessità perché so che il mio JSON non sarebbe enorme, ma è necessario tenerlo a mente mentre si adotta questo approccio.