如何通过查询多层嵌套值来选择整个JSON文档?这是我的JSON示例:
{
"id": "6316194187233559482",
"type": "Hotel",
"attributes": [
{
"country": "Germany",
"officialNames": [
{
"name": "The Ritz-Carlton, Berlin",
"language": "GER"
}
],
"streetsAndCities": [
{
"city": "Berlin",
"cityLanguage": "GER",
"street": "Potsdamer Platz ",
"streetLanguage": "GER"
}
]
}
]
}
我想查询它的“名称”属性。我已经尝试使用UNNEST函数,并且可以毫无问题地访问嵌套数据的第一层,即“ officialNames”。但是我不知道如何访问“名称”属性。按位置引用它,例如:
SELECT * FROM document
UNNEST attributes as attributes
WHERE attributes[0].officialNames[0].name = "The Ritz-Carlton, Berlin"
由于JSON中每个属性的位置可能会发生变化,因此无法正常工作。
答案 0 :(得分:2)
“ JSON中每个属性的位置可以更改”是什么意思?您是否意味着“属性”和“ officialNames”以及“ streetsAndCities”数组可以具有其他条目,并且您想搜索所有条目?
如果是,请在此处查看ANY运算符: https://docs.couchbase.com/server/6.0/n1ql/n1ql-language-reference/collectionops.html