如何以特定格式获取 n1ql 查询响应?

How to get n1ql query response in a particular format?

当我执行以下查询时

SELECT r.name AS organizationRoleName, r.organizationRoleId, a.city, a.zip,a.address1
FROM `contact` AS c
UNNEST c.organizationRoles AS r
UNNEST r.addressAssociations AS aa
jOIN `optima_contact` AS a
ON aa.addressId = TO_NUMBER(a.addressId) 
WHERE  c.type = "organization" AND a.type = "address" and a.city="Plaridel";

我得到如下回复

[
   {
 "address1": "Ground Floor Waltermart Center-Plaridel, Cagayan Valley Road, Barrio Banga 1, Plaridel",
"city": "Plaridel",
"organizationRoleId": 903,
"organizationRoleName": "SUN - WALTERMART PLARIDEL",
"zip": "3004"
},
{
"address1": "Ground Floor Waltermart Center-Plaridel Cagayan Valley Road Barrio Banga 1 Plaridel",
"city": "Plaridel",
"organizationRoleId": 1001,
"organizationRoleName": "FRS1 Store",
"zip": "3004"
  }
]

有没有办法得到下面格式的响应而不是上面的格式?

[
{
"organizationRoleId": 903,
"organizationRoleName": "SUN - WALTERMART PLARIDEL",
"storeAddress": {
                "address1": "Ground Floor Waltermart Center-Plaridel, Cagayan Valley Road, Barrio Banga 1, Plaridel",
                "city": "Plaridel",
                "zipCode": "3004"
            }
},
{
"organizationRoleId": 1001,
"organizationRoleName": "FRS1 Store",
"storeAddress": {
                "address1": "Ground Floor Waltermart Center-Plaridel Cagayan Valley Road Barri Banga 
                             1 Plaridel",
                "city": "Plaridel",
                "zipCode": "3004"
            }
  }
  ]

应该如何获得上述类型的响应?

您可以使用 {city, zip, address1} 和 Alias AS storeAddress 构造对象

SELECT r.name AS organizationRoleName, r.organizationRoleId,
       {a.city, a.zip,a.address1} AS storeAddress
FROM `contact` AS c
UNNEST c.organizationRoles AS r
UNNEST r.addressAssociations AS aa
jOIN `optima_contact` AS a
ON aa.addressId = TO_NUMBER(a.addressId) 
WHERE  c.type = "organization" AND a.type = "address" and a.city="Plaridel";