在n1ql中创建对象

问题描述 投票:0回答:1

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

表示我有多个id,并且每个id分别是attr1和attr2(每个attr1,attr2组合是我当前拥有的数组中的一个对象)。

我想创建一个看起来像这样的对象:

    id: {
          attr1: {
                  attr2: {value1, value2}
               }
        }
}

有什么办法吗?试图搜索各种对象/数组函数,但找不到任何可以帮助我的东西。

couchbase n1ql
1个回答
0
投票

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

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个实体,但是您可以根据需要添加任意数量的嵌套实体。

© www.soinside.com 2019 - 2024. All rights reserved.