Couchbase 将查询返回的对象嵌套为大小为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 =

我当前正试图从数组中查询特定对象。然而,查询的结果是返回单个对象,而不是大小为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 = "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;