Couchbase 将查询返回的对象嵌套为大小为1的数组
我当前正试图从数组中查询特定对象。然而,查询的结果是返回单个对象,而不是大小为1的数组(一个对象填充数组) 我的问题是:Couchbase 将查询返回的对象嵌套为大小为1的数组,couchbase,n1ql,Couchbase,N1ql,我当前正试图从数组中查询特定对象。然而,查询的结果是返回单个对象,而不是大小为1的数组(一个对象填充数组) 我的问题是: SELECT meta(bn).id as _ID, meta(bn).cas as _CAS, bn.name FIRST t FOR t IN properties WHEN t.id = "1111" END as property FROM bucket-name as bn WHERE ANY t IN attributes SATISFIES t.id =
SELECT meta(bn).id as _ID, meta(bn).cas as _CAS, bn.name
FIRST t FOR t IN properties WHEN t.id = "1111" END as property
FROM bucket-name as bn
WHERE ANY t IN attributes SATISFIES t.id = "1111" END
结果:
[
{
"_CAS": 0000,
"_ID": "1111",
"name": "my name",
"property": {
"id": "1111",
"name": "my property name"
}
}
]
我宁愿得到的是。它几乎完全相同,只是“属性”现在是一个数组
[
{
"_CAS": 0000,
"_ID": "1111",
"name": "my name",
"property": [
{
"id": "1111",
"name": "my property name"
}
]
}
]
首先更改为数组
当第一次使用时,循环在第一个元素满足时停止并返回该元素。
当使用数组时,循环一直持续到结束,所有符合条件的元素都作为数组返回(即列表)
SELECT meta(bn).id as _ID, meta(bn).cas as _CAS, bn.name
ARRAY t FOR t IN properties WHEN t.id = "1111" END AS property
FROM `bucket-name` as bn
WHERE ANY t IN attributes SATISFIES t.id = "1111" END;