2015-04-09 5 views
7

Quando interrogo /mycollections?ql=Select * where name='dfsdfsdfsdfsdfsdf' ricevoUtilizzando Usergrid come faccio a entità collegate annidati in un unico JSON e non solo il link al loro

{ 
    "action" : "get", 
    "application" : "859e6180-de8a-11e4-9360-f1aabbc15f58", 
    "params" : { 
    "ql" : [ "Select * where name='dfsdfsdfsdfsdfsdf'" ] 
    }, 
    "path" : "/mycollections", 
    "uri" : "http://localhost:8080/myorg/myapp/mycollections", 
    "entities" : [ { 
    "uuid" : "2ff8961a-dea8-11e4-996b-63ce373ace35", 
    "type" : "mycollection", 
    "name" : "dfsdfsdfsdfsdfsdf", 
    "created" : 1428577466865, 
    "modified" : 1428577466865, 
    "metadata" : { 
     "path" : "/mycollections/2ff8961a-dea8-11e4-996b-63ce373ace35", 
     "connections" : { 
     "relations" : "/mycollections/2ff8961a-dea8-11e4-996b-63ce373ace35/relations" 
     } 
    } 
    } ], 
    "timestamp" : 1428589309204, 
    "duration" : 53, 
    "organization" : "myorg", 
    "applicationName" : "myapp", 
    "count" : 1 
} 

Ora, se interrogo /mycollections/2ff8961a-dea8-11e4-996b-63ce373ace35/relations ottengo la seconda entità

{ 
    "action" : "get", 
    "application" : "859e6180-de8a-11e4-9360-f1aabbc15f58", 
    "params" : { }, 
    "path" : "/mycollections/2ff8961a-dea8-11e4-996b-63ce373ace35/relations", 
    "uri" : "http://localhost:8080/myorg/myapp/mycollections/2ff8961a-dea8-11e4-996b-63ce373ace35/relations", 
    "entities" : [ { 
    "uuid" : "56a1185a-dec1-11e4-9ac0-e9343f86b604", 
    "type" : "secondcollection", 
    "name" : "coucou", 
    "created" : 1428588269141, 
    "modified" : 1428588269141, 
    "metadata" : { 
     "connecting" : { 
     "relations" : "/mycollections/2ff8961a-dea8-11e4-996b-63ce373ace35/relations/56a1185a-dec1-11e4-9ac0-e9343f86b604/connecting/relations" 
     }, 
     "path" : "/mycollections/2ff8961a-dea8-11e4-996b-63ce373ace35/relations/56a1185a-dec1-11e4-9ac0-e9343f86b604" 
    } 
    } ], 
    "timestamp" : 1428589668542, 
    "duration" : 51, 
    "organization" : "myorg", 
    "applicationName" : "myapp" 
} 

Quello che voglio è che invece di fornirmi il percorso dell'entità correlata Usergrid annida direttamente nella prima risposta JSON in modo che sia sufficiente effettuare una singola richiesta http anziché due.

+0

Questo sembra così sbagliato '/ mycollections? Ql = Seleziona * where name = '...'' –

+0

Googling veloce a condizione che il db che si sta utilizzando sia un db basato sul documento e si debba vivere secondo le sue restrizioni. –

+0

Questo è un po 'di avventura, l'unica soluzione che vedo per ora è di creare un piccolo proxy che farebbe tutte queste chiamate e quindi unire un nuovo file JSON. –

risposta

0

Non so quale DB si sta utilizzando. Se stai usando il documento db come mongo, puoi scrivere uno script node.js per fare questa manipolazione. Apigee ha il controllo volvo.js è possibile fare lo scripting.

1

Non è possibile. Usergrid non è progettato in questo modo. È necessario scrivere un endpoint di resto wrapper extra per simulare una risposta.