0

我有 ReQL 查询

r.table('production_plan')
  .filter(doc => doc.hasFields('messages'))
  .pluck('id', 'nomer','diameter', {'messages': ['date', 'text','username']})

结果

    {
        "diameter": 160,
        "id": "29aefc95-c701-49ee-abc1-2e1e275abb30",
        "messages": [{
            "date": Fri Jun 25 2021 09:06:47 GMT+00:00,
            "text": "test",
            "username": "John"
        }],
        "nomer": "0038"
    },
    {
        "diameter": 110,
        "id": "e8176c1b-5582-4ab2-80cb-9830de7a4c6b",
        "messages": [{
                "date": Thu Jun 24 2021 12:34:19 GMT+00:00,
                "text": "123",
                "username": "John"
            },
            {
                "date": Thu Jun 24 2021 12:36:10 GMT+00:00,
                "text": "456",
                "username": "Jack"
            },
            {
                "date": Thu Jun 24 2021 12:36:42 GMT+00:00,
                "text": "test1",
                "username": "John"
            },
            {
                "date": Thu Jun 24 2021 12:37:01 GMT+00:00,
                "text": "test2 ",
                "username": "John"
            }
        ],
        "nomer": "0003"
    }

我想选择按日期排序的最后一次按摩

    {
        "messages": [
            {
                "date": Fri Jun 25 2021 09:06:47 GMT+00:00,
                "text": "test",
                "username": "John",
                
                "diameter": 160,
                "id": "29aefc95-c701-49ee-abc1-2e1e275abb30",
                "nomer": "0038"              
            },

            {
                "date": Thu Jun 24 2021 12:34:19 GMT+00:00,
                "text": "123",
                "username": "John",

                "diameter": 110,
                "id": "e8176c1b-5582-4ab2-80cb-9830de7a4c6b",
                "nomer": "0003"              
            },
            {
                "date": Thu Jun 24 2021 12:36:10 GMT+00:00,
                "text": "456",
                "username": "Jack"

                "diameter": 110,
                "id": "e8176c1b-5582-4ab2-80cb-9830de7a4c6b",
                "nomer": "0003"               
            },
            {
                "date": Thu Jun 24 2021 12:36:42 GMT+00:00,
                "text": "test1",
                "username": "John"

                "diameter": 110,
                "id": "e8176c1b-5582-4ab2-80cb-9830de7a4c6b",
                "nomer": "0003"              
            },
            {
                "date": Thu Jun 24 2021 12:37:01 GMT+00:00,
                "text": "test2 ",
                "username": "John"

                "diameter": 110,
                "id": "e8176c1b-5582-4ab2-80cb-9830de7a4c6b",
                "nomer": "0003"             
            }
        ],
    }
4

1 回答 1

0

用幼稚的方式解决

r.table('production_plan')
  .filter(doc => doc.hasFields('messages'))
  .pluck('id', 'nomer','diameter', {'messages': ['date', 'text','username']})
  .concatMap(v => v('messages').map(msg => ({
    date : msg('date'),
    text : msg('text'),
    username : msg('username'),
    id : v('id'),
    nomer : v('nomer'),
    diameter : v('diameter')
  })))   
  .orderBy(r.desc('date'))
于 2021-06-25T10:18:56.253 回答