深层嵌套JSON数组的Couchbase N1QL数组索引

时间:2017-09-29 22:53:58

标签: indexing nosql couchbase n1ql

下面的通信字段是较大的json文件的一部分。我想要索引的字段是code

"communication": [
 {
  "language": {
    "coding": [
      {
        "code": "en-US",
        "system": "http://hl7.org/fhir/ValueSet/languages",
        "display": "English (United States)"
      }
    ]
  }
}
]

我已经编写了这个创建索引代码并且执行良好,没有错误

create index `patient_communication_language_coding_code` on
 neuron(distinct array 
            (distinct array c.code for c in v.language.coding end)
    for v in communication end)

但是当我尝试查询它没有选择索引或使用它时。

select * from `neuron` as r use index(patient_communication_language_coding_code)
where any comm in r.communication satisfies
   any coding in comm.language.coding satisfies coding.code = 'en-US'
   end
end;

以上查询有效。我以前在couchbase中索引了数组数组,但这种情况是array.object.array.object,它是code字段。没有语法错误。我做错了什么或者不可能将数组编入索引?

1 个答案:

答案 0 :(得分:0)

我已经在Couchbase论坛上发布了这个问题,并找到了答案。我使用的是旧Version: 4.6.1-3652 Enterprise Edition (build-3652)

问题已在Version: 4.6.3-4136 Enterprise Edition (build-4136)

中修复