热衷于 CouchBase 编程
Passion in CouchBase Programming
我想获取对象数组中 Couchbase 文档中的单个元素,但我能够获取对象数组
我尝试使用以下查询获取数组,'select countryDetails from test';
{
"type":"countries",
"docName":"CountryData",
"countryDetails":[
{
"name":"US",
"code":"+1",
"stateInfo":[
{
"name":"Florida",
"id":"1212"
},
{
"name":"NewYork",
"id":"1214"
}
]
},
{
"name":"France",
"code":"+33",
"stateInfo":[
{
"name":"Grand Est",
"id":"5212"
},
{
"name":"Brittany",
"id":"5214"
}
]
}
]
}
我尝试使用 select countryDetails from test;
获取数组
我喜欢获取结果 [ {"name" : "US", "code" : "+1" }, {"name" : "France", "code" : "+33"}]
您尝试执行的操作似乎无法实现。您可以通过这样的查询更接近您想要的内容:
select raw countryDetails from test
但是这个查询的结果仍然包含在额外的数组级别中。
如果您投射 countryDetails,它会投射整个子对象。
如果您需要子对象的一部分,则需要显式投影它。
以下 ARRAY 构造将提供您期望的数据表示。
SELECT ARRAY {v.name,v.code} FOR v IN t.countryDetails END AS contryDetails
FROM test AS t
WHERE t.type = "countries";
我想获取对象数组中 Couchbase 文档中的单个元素,但我能够获取对象数组
我尝试使用以下查询获取数组,'select countryDetails from test';
{
"type":"countries",
"docName":"CountryData",
"countryDetails":[
{
"name":"US",
"code":"+1",
"stateInfo":[
{
"name":"Florida",
"id":"1212"
},
{
"name":"NewYork",
"id":"1214"
}
]
},
{
"name":"France",
"code":"+33",
"stateInfo":[
{
"name":"Grand Est",
"id":"5212"
},
{
"name":"Brittany",
"id":"5214"
}
]
}
]
}
我尝试使用 select countryDetails from test;
我喜欢获取结果 [ {"name" : "US", "code" : "+1" }, {"name" : "France", "code" : "+33"}]
您尝试执行的操作似乎无法实现。您可以通过这样的查询更接近您想要的内容:
select raw countryDetails from test
但是这个查询的结果仍然包含在额外的数组级别中。
如果您投射 countryDetails,它会投射整个子对象。 如果您需要子对象的一部分,则需要显式投影它。
以下 ARRAY 构造将提供您期望的数据表示。
SELECT ARRAY {v.name,v.code} FOR v IN t.countryDetails END AS contryDetails
FROM test AS t
WHERE t.type = "countries";