вложенный документ под основным документом, как получить листинг с разбивкой на страницы с помощью запроса couchbase (N1QL) - PullRequest
1 голос
/ 30 марта 2020

любой может помочь мне, как получить поддокумент List с нумерацией страниц

Я просто приведу пример:

{
  "accessories": [`

    {
      "data": {
        "name": "TEST",
       "updated_at": "2020-03-27T16:16:20.818Z"
      },
      "id": "56e83ea1-042e-47e0-85f8-186189c37426"
    }

  ],

  "calibration_reports": [`

    {

      "data": {
        "deleted_at": "",
        "frm27_equipment": [
          "test_cat1"
        ],
        "frm27_link": [
          "yes"
        ],
        "frm27_submit": null,
        "updated_at": "2020-03-30T10:24:52.703Z"
      },
      "id": "e4c8b1b4-7f37-46db-a49d-bca74482b968"
    },
    {
      "data": {
        "deleted_at": "",
        "frm27_equipment": [
          "test_cat1"
        ],
        "frm27_link": [
          "no"
        ],
        "frm27_submit": null,
        "updated_at": "2020-03-30T10:34:37.615Z"
      },
      "id": "445854d6-66bf-4e33-b620-05a5053119a8"
    }

  ],

    }

  ]

} 

Здесь я хочу получить calib_reports список с нумерацией страниц возможен? используя couchbase (N1ql Query), пожалуйста, если кто-нибудь знает, каков процесс получения списка результатов с разбивкой на страницы с помощью запроса couchbase (N1QL). пожалуйста, помогите мне.

1 Ответ

2 голосов
/ 30 марта 2020

Один из возможных способов go об этом - использовать UNNEST.

Например:

SELECT calreports.id
FROM utpal u
UNNEST u.calibration_reports calreports

Это вернет что-то вроде:

[
  { "id": "aaa" },
  { "id": "bbb" },
  { "id": "ccc" }, 
   ... etc ...
]

И тогда вы можете использовать обычный LIMIT / OFFSET для нумерации страниц, например:

SELECT calreports.id
FROM utpal u
UNNEST u.calibration_reports calreports
LIMIT 50
OFFSET 150;
...