首先,如果这个问题听起来太愚蠢,我很抱歉。但我最近在学习N1QL并需要一些输出作为我的陈述。我的桶名称是MultiSiteResponseTime,我试图通过执行" 从MultiSiteResponseTime选择HourResponsetime.Hour来获取所有小时的结果; "。但我没有得到任何结果。根据我的理解,如果你想访问内部元素,那么你必须像 HourResponsetime.Hour 那样使用它,但我不确定我错在哪里。此外,如果您可以帮我获取特定键的结果,例如我想知道第1小时响应时间的结果。
{
"Para": "ResponseTime",
"Date": "18-04-2016",
"Qantas": {
"HourResponsetime": [
{
"Hour": 0,
"ResponseTime": 8
},
{
"Hour": 1,
"ResponseTime": 9
},
]
}
}
答案 0 :(得分:7)
这绝不是一个愚蠢的问题!
当A.B
是 JSON对象时,虚线路径语法“A
”效果很好。您的文档结构在HoursResponseTime
中有一个数组对象,这就是它无效的原因。要做的是使用带星号的数组索引选择器:A[*]
。
此外,路径语法从文档内容的根开始。在这里你有一个中间对象Qantas
,你应该参与其中。
这给了我们:
SELECT Qantas.HourResponsetime[*].Hour FROM MultiSiteResponseTime;
这会为每个文档返回 Hour
s 数组。