Knexnest 查询不返回数组中的数据,即使这是预期的

Knexnest query not returning data in array even though this is what is expected

我有这个 knexnest 查询:

    const query = knex.select([
      'notes.id AS _id',
      'notes.note AS _note',
      'notes.timestamp AS _timestamp',
      'customers.id AS _customerId',
      'users.name AS _name',
      'products.id AS _productId',
      'tags.id AS _tags_tagId',
      'tags.title AS _tags_tagTitle',
      'tags.type AS _tags_tagType',
    ]).from('notes')
      .join('users', 'notes.user_id', 'users.id')
      .join('customers', 'notes.customer_id', 'customers.id')
      .leftJoin('products', 'notes.product_id', 'products.id')
      .leftJoin('note_tags', 'notes.id', 'note_tags.note_id')
      .leftJoin('tags', 'note_tags.tag_id', 'tags.id')
      .where('customers.id', customerId);

    return knexnest(query);

我的回复 json 看起来像这样:

{
  "id": 47,
  "note": "This is an updated1 note",
  "timestamp": "2019-07-12T15:17:27.281Z",
  "customerId": 111781,
  "name": "Paul",
  "productId": 1,
  "tags": {
    "tagId": 4,
    "tagTitle": "price",
    "tagType": "product"
  }
}

问题是数据库returns有多个标签,只显示一个。我期待这样的回应:

{
  "id": 47,
  "note": "This is an updated1 note",
  "timestamp": "2019-07-12T15:17:27.281Z",
  "customerId": 111781,
  "name": "Paul",
  "productId": 1,
  "tags": {[
    {
      "tagId": 4,
      "tagTitle": "price",
      "tagType": "product"
    },
    {
      "tagId": 5,
      "tagTitle": "quality",
      "tagType": "product"
    }
  ]}
}

是不是我的查询有问题导致了这个问题?

知道了。我在标签中缺少双 __

'tags.id AS _tags__tagId',
'tags.title AS _tags__tagTitle',
'tags.type AS _tags__tagType'