This API is available on Firefox OS for internal applications only.
The put() method of the DataStore interface updates an existing record in the data store.
Note: The Data Store API is available in Web Workers, from Firefox 32 onwards (Firefox OS 2.0; see bug 949325.)
Syntax
store.put(obj, id).then(function(id) {
// Do something with id, which is the id of the updated object
});
Returns
A Promise object of type void that resolves with the ID of the updated object.
Parameters
obj- The object containing the data you want to update the record's value to.
id- The id of the record to be updated. This will be either a
DataStoreKeyof type unsigned long orDOMString, if an id was specified by the developer when the record was created, or a numeric id if not. revisionId- You can specify an optional third parameter that will be a
revisionId(aDOMString). This can be used to prevent conflicts. If therevisionIdis not the currentrevisionIdfor the current Data Store, the operation is aborted. This means that the developer has a 'old'revisionIdand will have to manage the conflict somehow.
Example
The following example gets all the data stores on the device called "contacts", then updates a single record in the first "contacts" data store with the data available in the obj variable.
navigator.getDataStores('contacts').then(function(stores) {
stores[0].put(obj,1).then(function(id) {
// object successfully updated
});
});
Specifications
| Specification | Status | Comment |
|---|---|---|
| Data Store API | Draft |
Note that put() isn't currently defined in the spec, but this should be updated soon. It will replace the now-deprecated update() method.
The discussion concerning this API's creation happened in various Mozilla mailing lists and other places. A summary of the discussion and further pointers can be found on the Mozilla Wiki. For further feedback and questions, send mail to the dev-webapi mailing list.
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | No support | No support | No support | No support | No support |
| Feature | Android | Chrome | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | No support | No support | No support | 1.0.1 | No support | No support | No support |
| Available in web workers | No support | No support | No support | 2.0 | No support | No support | No support |