2016-07-15 117 views
0

我有以下的JSON作为Couchbase项:获取嵌套对象在couchbase与N1QL

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

,我想通过N1QL查询来获取resultCode领域:

Select * from myproject where workOrderDetailMap.responseCode = 0; 

我得到0结果。

我该怎么做?

回答

5

你需要

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

如果您需要忽略10873:

select * from myproject where object_values(workOrderDetailMap)[0].responseCode = 0; 
+0

谢谢。但是,我的需求是如何参数化10873值?它在每个记录中都是不同的。 –

+0

太棒了!这正是我正在寻找的..非常感谢你:) –

+0

@geraldss如何做这样的嵌套数组加入。例如加入密钥users.id = groups.group_id_record [*] .group_id?像这样的东西? – rafi