Rzeczą, która zadziałała, było przechowywanie klucza jako unikalnego identyfikatora i określenie całego obiektu podczas przechowywania danych i zastosowanie JSON.parse podczas jego wyodrębniania.
Przykładowy kod:
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;
});
Chociaż określanie ciągów, a następnie parsowanie go z powrotem jest operacją wymagającą dużej mocy obliczeniowej i zablokuje serwer Node.js, jeśli rozmiar JSON stanie się duży. Prawdopodobnie jestem gotowy na uderzenie o mniejszą złożoność, ponieważ wiem, że mój JSON nie byłby ogromny, ale należy o tym pamiętać, wybierając to podejście.