使用文档的数组字段对N1QL中的文档进行排序

时间:2019-06-11 12:39:11

标签: sorting couchbase n1ql

我们需要使用N1QL在文档中使用数组字段对文档进行排序

我们有以下文档 PCI

{
  "id": "pci1",
  "_class" = "PCI",
  "productDSL": {
    "parameters": {
      "tpnb": ["02","04"]
    }
  }
},
{
  "id": "pci2",
  "_class" = "PCI",
  "productDSL": {
    "parameters": {
      "tpnb": ["01","02","04"]
    }
  }
},
{
  "id": "pci3",
  "_class" = "PCI",
  "productDSL": {
    "parameters": {
      "tpnb": ["01","02"]
    }
  }
},
{
  "id": "pci4",
  "_class" = "PCI",
  "productDSL": {
    "parameters": {
      "tpnb": ["02","03"]
    }
  }
}

我们需要根据作为数组的tpnb字段进行“排序”。 因此结果应按以下顺序返回

pci3,pci2,pci4,pci1

1 个答案:

答案 0 :(得分:2)

尝试以下查询。 ORDER基于整个数组

SELECT id FROM default
WHERE _class = "PCI"
ORDER BY productDSL.parameters.tpnb;