I am using localForage to store some data on a website to make it offline.
I would like to have one key and append to the value / array.
So far I can only figure how to retrieve the entire key/value from storage, then append and set the entire key/value again. This seems very wasteful and might be problematic when the key/value gets larger.
var obj = ...
localforage.getItem('documents', function(err, value) {
value.push(obj);
localforage.setItem('documents', value);
}
Is there not a more efficient way of doing this? and how big would the key/value have to be to notice performance issues.
I realize this is an old question, but thought I would provide some info. Per NatureShade's point, you can't edit the value in the localForage table, you can only pull the item, and set it. What I typically do for frequently changing variables/objects when using localForage is to have a global variable set for that item. When making changes I just update the global variable and then update the item in storage. The nice thing about this is you only have to worry about setting the localForage key/value, and don't have to mess with the asynchronous aspect as much. You also have a variable that you can always reference for this info as well, so you don't have to use .getItem all the time to access it. Having a global variable may not be the best practice, but it is an option.
var globalObject;
localforage.getItem('documents', function(err, value){
globalObject = value;
}
var obj = ...;
globalObject.push(obj);
localforage.setItem('documents', globalObject);
var obj2 = ...;
globalObject.push(obj2);
localforage.setItem('documents', globalObject);