how to remove data from a object using chrome stor

2020-02-07 03:43发布

问题:

i have an object stored inside chrome storage that looks like this:

{
    "planA": 
    {
        123: {key: 'some key'}
        124: {key: 'some other key'}
    },
    "planB": 
    {
        223: {key: 'some key'}
        234: {key: 'some other key'}
    }
}

i want to do something like chrome.storage.sync.remove([{"planA": "123"}]);

but that seems not to work Error in response to storage.get: Error: Invalid value for argument 1. Value does not match any valid type choices.

from the documentation StorageArea.remove(string or array of string keys, function callback)

ant ideas?

回答1:

You can't do that in a single API call. The API only gives access to top-level keys: you can get or set planA as a whole.

So you'll need to write your own get/set functions, that retrieve the required top-level key, modify the object as required, and save it back.