2013-01-08 5 views
1

Je suis donné la structure JSON suivante:Raven DB API HTTP - Propriété Traversal

{ 
    "document": { 
     "sections": { 
      "x": { 
       "title": "foo" 
      }, 
      "y": { 
       "title": "bar" 
      } 
     } 
    } 
} 

Comment puis-je mettre à jour la valeur de la propriété de titre pour une section donnée en utilisant l'API HTTP?

Je voudrais fournir un chemin (chaîne) pour accéder à la propriété.

+1

Vous devriez être en mesure d'utiliser une commande de patch scénarisé, mais je suis tombé sur un bug tout en produisant un exemple pour toi. Cela fonctionne avec l'interface bulk_docs, mais pas pour un seul document. Voir mes commentaires [dans le rapport de bug] (http://issues.hibernatingrhinos.com/issue/RavenDB-810) –

+0

Merci @MattJohnson pour avoir connecté le bug. ScriptedPatchRequest - Ceci est une fonctionnalité ultime dans Raven DB que j'ai raté complètement (probablement en raison de la faible documentation là-bas et le nom). Le support d'IronJS est IMPRESSIONNANT! Cela mérite certainement plus d'attention et une plus grande netteté, comme l'a souligné Matt. Ayende blog sur ce sujet est utile - http://ayende.com/blog/157185/awesome-ravendb-feature-of-the-day-evil-patching – Raj

Répondre

0

Cela a été corrigé dans la version 2254. Vous devriez maintenant être en mesure d'émettre un seul patch scénarisé comme ceci:

EVAL http://localhost:8080/docs/foos/1 

{Script:"this.document.sections.x.title = newTitle;",Values:{"newTitle":"Whatever"}} 
+0

Travaux .. Merci !! – Raj