使用Usergrid如何获得嵌套在单个json中的相关实体,而不仅仅是它们的链接

时间:2015-04-09 14:36:04

标签: apigee usergrid

当我查询/mycollections?ql=Select * where name='dfsdfsdfsdfsdfsdf'时,我得到了

{
  "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
}

现在,如果我查询/mycollections/2ff8961a-dea8-11e4-996b-63ce373ace35/relations,我会得到第二个实体

{
  "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"
}

我想要的是,不是向我提供相关实体的路径,而是将Usergrid直接嵌套在第一个JSON答案中,这样我只需要发出一个http请求而不是两个。

2 个答案:

答案 0 :(得分:1)

你做不到。 Usergrid不是以这种方式设计的。您需要编写一个额外的包装器休息端点来模拟一个响应。

答案 1 :(得分:0)

不确定您使用的是什么数据库。如果您正在使用像mongo这样的文档db,那么您可以编写node.js脚本来执行此操作。 Apigee有volvo.js检查是否可以编写脚本。