2010-12-06 45 views
10

En lisant la documentation (et en jouant avec le logiciel), il semble qu'une commande PUT remplacera tout le document existant (créer une nouvelle révision qui inclut seulement ce qui a été envoyé dans la commande PUT) . Est-il possible de mettre à jour une partie d'un document?Modification d'une partie d'un document en utilisant CouchDB PUT

Par exemple, disons une commande POST crée un document avec l'objet JSON suivant:

{"name" : "Chuck"} 

Ensuite, une commande PUT sur le même identifiant de document ajoute:

{"lastname" : "Norris"} 

est-il un moyen obtenir CouchDB pour retourner la combinaison des deux révisions, par opposition à seulement la dernière mise à jour? Sinon, toute modification apportée à un document nécessitera la récupération du document complet et l'envoi du document complet (mis à jour).

Répondre

10

Essayez de regarder dans Document Update Handlers: lorsqu'un gestionnaire de mise à jour est PUT depuis votre application, la fonction JavaScript correspondante sera appelée avec les données de votre demande envoyée et le document existant sur le serveur, ce qui lui permet de se fusionner les deux morceaux de données appropriées.

+0

Alors que la réponse ci-dessus donne un aperçu général, cette page donne des détails (et des exemples!) Sur la façon de faire ce que l'OP a demandé: https://wiki.apache.org/couchdb/Partial_Updates –