Couchbase 在n1ql中创建对象

Couchbase 在n1ql中创建对象,couchbase,n1ql,Couchbase,N1ql,我有一些嵌套查询,返回一个对象数组,每个对象有5个属性:id、value1、value2、attr1、attr2 在数组中,对于一个特定id,可能有多个文档(obj) 这意味着我有多个id,每个id都会乘以attr1和attr2(每个attr1和attr2的组合都是我当前拥有的数组中的一个对象) 我想创建一个如下所示的对象: id: { attr1: { attr2: {value1, value2}

我有一些嵌套查询,返回一个对象数组,每个对象有5个属性:id、value1、value2、attr1、attr2 在数组中,对于一个特定id,可能有多个文档(obj)

这意味着我有多个id,每个id都会乘以attr1和attr2(每个attr1和attr2的组合都是我当前拥有的数组中的一个对象)

我想创建一个如下所示的对象:

    id: {
          attr1: {
                  attr2: {value1, value2}
               }
        }
}
有办法吗?
尝试搜索各种对象/数组函数,但找不到任何对我有帮助的内容。

这相当简单,您只需使用数组即可。下面是一个更完整的示例:

INSERT INTO `test` ( KEY, VALUE ) VALUES ( "1", {
  "type": "users",
  "name": "First User",
  "username": "user1",
  "address": {
    "streetName": "Wayside Lane", 
      "houseNumber": 3104, 
        "zipcode": 94538, 
        "city": "Fremont", 
        "state": "CA", 
        "country": "US", 
        "entrances": [{"name" : "main"}] },
  "preferences": [
    {"name": "lang", "value": "en"},
    {"name": "notification", "value":"emailOnly"},
    {"name":"timezone","value": "GMT+2"}],
  "permissions": {
    "groups":["MARKETING"], 
    "roles": ["ADMIN", "PREMIUM_USER"]}
});

请注意,尽管建议最大深度为2或5个实体,但您可以拥有任意数量的嵌套实体。

问题是我不知道键或值,它们是从查询返回的,并且我从查询中获得的数组中有多个未排序的对象。我怎样才能把它推到一个物体上?循环和条件以检查它是否存在?我也不想将其写入数据库,只是作为查询的结果获取它,我如何才能做到这一点?谢谢。这些键是动态的吗?是的,如果你再看看我的例子,那么attr1和attr2是动态的。