Couchbase-从对象数组中选择字段子集

Couchbase-从对象数组中选择字段子集,couchbase,Couchbase,我正在使用旅行样本数据集,并正在运行以下查询: SELECT id, schedule FROM `travel-sample`WHERE type = "route" LIMIT 1; 它将返回以下结果: [ { "id": 10000, "schedule": [ { "day": 0, "flight": "AF198", "utc": "10:13:00" }, {

我正在使用
旅行样本
数据集,并正在运行以下查询:

SELECT id, schedule FROM `travel-sample`WHERE type = "route" LIMIT 1;
它将返回以下结果:

[
  {
    "id": 10000,
    "schedule": [
      {
        "day": 0,
        "flight": "AF198",
        "utc": "10:13:00"
      },
      {
        "day": 0,
        "flight": "AF547",
        "utc": "19:14:00"
      },
      ...
    ]
  }
]
但是,我不想返回
schedule.$.day
字段;i、 e.我希望我的结果是:

[
  {
    "id": 10000,
    "schedule": [
      {
        "flight": "AF198",
        "utc": "10:13:00"
      },
      {
        "flight": "AF547",
        "utc": "19:14:00"
      },
      ...
    ]
  }
]
[
  {
    "id": 10000,
    "schedule": [
      {
        "flight": "AF198",
        "utc": "10:13:00"
      },
      {
        "flight": "AF547",
        "utc": "19:14:00"
      },
      ...
    ]
  }
]
如何从对象数组中仅选择对象字段的子集


我尝试了
UNNEST
,但我不想为每个
schedule
元素创建单独的记录-我希望
schedule
元素保持嵌套在文档中

我还尝试过使用
OBJECT\u REMOVE

SELECT id, ARRAY OBJECT_REMOVE(x, 'day') FOR x in schedule END AS schedule FROM `travel-sample` WHERE type = "route" LIMIT 1;

但我想将字段列入白名单而不是黑名单。

您上次的尝试已接近成功。您不必使用
对象\u REMOVE
,只需构造想要返回的对象即可

SELECT id, ARRAY {"flight": x.flight, "utc": x.utc} FOR x in schedule END AS schedule FROM `travel-sample` WHERE type = "route" LIMIT 1;
您将获得以下结果:

[
  {
    "id": 10000,
    "schedule": [
      {
        "day": 0,
        "flight": "AF198",
        "utc": "10:13:00"
      },
      {
        "day": 0,
        "flight": "AF547",
        "utc": "19:14:00"
      },
      ...
    ]
  }
]

你的最后一次尝试很接近。您不必使用
对象\u REMOVE
,只需构造想要返回的对象即可

SELECT id, ARRAY {"flight": x.flight, "utc": x.utc} FOR x in schedule END AS schedule FROM `travel-sample` WHERE type = "route" LIMIT 1;
您将获得以下结果:

[
  {
    "id": 10000,
    "schedule": [
      {
        "day": 0,
        "flight": "AF198",
        "utc": "10:13:00"
      },
      {
        "day": 0,
        "flight": "AF547",
        "utc": "19:14:00"
      },
      ...
    ]
  }
]