Получить вложенный объект из json в couchbase с N1QL

У меня есть следующий json как запись в Couchbase:

{
    "messageType": "TRANS",
    "failCount": 0,
    "workOrderDetailMap": {
        "10873": {
            "requestDate": "20160715151239",
            "id": 10873,
            "responseDate": "20160715151305",
            "responseCode": 0,
            "status": "SUCCESS",
            "resultDocuments": [
                "xyz"
            ]
        }
    }
}

и я хочу получить поле resultCode по запросу N1QL:

Select * from myproject where workOrderDetailMap.responseCode = 0;

Я получил 0 результатов.

Как я могу это сделать ?


person Mahsum Akbas    schedule 15.07.2016    source источник


Ответы (1)


Тебе нужно

select * from myproject where workOrderDetailMap.`10873`.responseCode = 0;

Если вам нужно игнорировать 10873:

select * from myproject where object_values(workOrderDetailMap)[0].responseCode = 0;
person geraldss    schedule 15.07.2016
comment
Спасибо. но мне нужно как параметризовать значение 10873? в каждой записи он разный. - person Mahsum Akbas; 18.07.2016
comment
Большой! это именно то, что я искал .. Большое спасибо :) - person Mahsum Akbas; 26.07.2016
comment
@geraldss, как сделать соединение с таким вложенным массивом. например ПРИСОЕДИНЯЙТЕСЬ ПО КЛЮЧАМ users.id = groups.group_id_record [*]. Group_id? что-нибудь вроде этого? - person rafi; 17.05.2017