2015-09-24 1 views
3

J'ai une IndexedDB locale comme ceci:mise à jour avec un élément localforage

// Unlike localStorage, you can store non-strings. 
localforage.setItem('123456', { 
    //0 - Ref cli 
    ref_cli: '4720271', 
    //1 - Offre client 
    offre_cli: 'Offre 3', 
    //2 - Date RDV 
    date_rdv: '22/09/2015', 
    //3 - Heure rdv 
    heure_rdv: '10H00', 
    //4 - Nom client 
    nom_cli: 'DURAND', 
    //5 - Prénom client 
    pren_cli: 'Pierre', 
    //6 -Adresse client 
    adr_cli: '3 rue de l\'église', 
    //7 - CP client 
    cp_cli: '75000', 
    //8 - Ville client 
    ville_cli: 'PARIS', 
    //9 - Batiment 
    bat_cli: 'A', 
    //10 - Escalier 
    esc_cli: '2', 
    //11 - Etage 
    etg_cli: '3' 
}, function(err, value) { }); 

Je veux mettre à jour un élément de ce tableau. Par exemple:

offre_cli: '3 offre' -> offre_cli: '4 offre'

J'ai essayé le code ci-dessous, mais il permet d'effacer le tableau précédemment .:

localforage.setItem('123456', {offre_cli: 'offre 4'}; 

Il est possible de mettre à jour un seul élément, sans mettre à jour tout le tableau?

Répondre

2

Nous trouvons une solution :). Merci Buzinas pour l'inspiration

localforage.getItem('123456').then(function (item){ 
    item.offre_cli = 'offre 12'; 

    localforage.setItem('123456', item); 

    }); 
2

Vous pouvez obtenir l'objet actuel enregistré dans localforage, le mettre à jour et le sauvegarder. E.g:

localforage.getItem('123456').then(function (item) { 
    item.offre_cli = 'offre 4'; 
    localforage.setItem('123456', item); 
}); 
+0

Merci Buzinas, malheureusement, je n'ai aucune mise à jour du champ ou le journal de la console. – Romain

+0

Je n'ai pas compris, @Romain. Ma solution n'a-t-elle pas fonctionné pour vous? – Buzinas

+0

Cela ne fonctionne pas (je n'ai pas d'erreur dans la console, pas de mise à jour sur l'item_cli item – Romain