4

首先,如果这个问题听起来太愚蠢,我很抱歉。但我最近正在学习 N1QL,需要一些输出来作为我的陈述。我的存储桶名称是 MultiSiteResponseTime,我试图通过执行“ select HourResponsetime.Hour from MultiSiteResponseTime; ”来获取所有小时的结果。但我没有得到任何结果。据我了解,如果您想访问内部元素,那么您必须像HourResponsetime.Hour那样使用它,但我不确定我错在哪里。另外,如果您可以帮助我获得特定键的结果,例如,我想知道 ResponseTime 出现在第 1 小时的结果。

{
  "Para": "ResponseTime",
  "Date": "18-04-2016",
  "Qantas": {
    "HourResponsetime": [
      {
        "Hour": 0,
        "ResponseTime": 8
      },
      {
        "Hour": 1,
        "ResponseTime": 9
      },
    ]
  }
}
4

1 回答 1

7

这绝不是一个愚蠢的问题!

当是JSON Object时,虚线路径语法 " A.B" 效果很好。您的文档结构中有一对象,这就是它不起作用的原因。方法是使用带有星号的数组索引选择器:。AHoursResponseTimeA[*]

此外,路径语法从文档内容的根开始。在这里,您有一个中间对象Qantas,您应该将其作为路径的一部分。

这给了我们:

SELECT Qantas.HourResponsetime[*].Hour FROM MultiSiteResponseTime;

这应该为每个文档返回一个s数组。Hour

于 2016-04-27T13:52:37.890 回答