Como classificar a matriz interna do documento que é recuperado usando o ID do documento

Oct 01 2020
SELECT * from bucket b WHERE meta().id = 'PROFILE_LIST'

A consulta acima fornece o resultado abaixo, mas, além disso, preciso que a matriz interna matchingProfile_ deve vir na ordem de createdDate. É possível? em caso afirmativo, que alterações devo fazer para que esta consulta tenha o mesmo resultado?

[
   {
    "matchingProfile_": [
            {
              "createdDate": "2020-09-26T02:30:00",
              "contactDetails_": {
                "address_": {
                  "addressLine1_": "",
                  "addressLine2_": "",
                  "city_": ""
                 }
            },
            {
              "createdDate": "2020-09-27T02:30:00",
              "contactDetails_": {
                "address_": {
                  "addressLine1_": "",
                  "addressLine2_": "",
                  "city_": ""
                 }
            }
    ]
   }
]

Respostas

2 vsr Oct 01 2020 at 01:27

Use a expressão de subconsulta para preservar a estrutura inteira do documento e classificar a matriz da maneira desejada (até mesmo usar a funcionalidade SQL completa)

SELECT b.*, 
      (SELECT RAW mp 
       FROM b.matchingProfile_ AS mp 
       ORDER BY mp.createdDate) AS matchingProfile_
FROM bucket AS b USE KEYS 'PROFILE_LIST';