DocumentDB 查询嵌套对象
DocumentDB query nested object
我在查询 DocumentDB 中的嵌套对象时遇到问题。我无法控制数据的格式。假设一个对象在 DocumentDB 中看起来像这样:
{
"SCHEMA_ID": {
"PROJECT": "A",
"MODEL": "B",
"GUID":"A GUID"
},
"STATE": {
"Active": "True"
},
"OBJECTS": {
"OBJECT": [
{
"ATTR_VALS": {
"NAME": "Header",
"ID": "0",
"VALUE": [
{
"NAME": "JobId",
"VAL": "1011656"
},
{
"NAM": "Region",
"VAL": "West Coast"
}
]
}
},
{
"ATTR_VALS": {
"NAME": "SampleData",
"ID": "0",
"VALUE": [
{
"NAME": "Height",
"VAL": "5"
},
{
"NAM": "Length",
"VAL": "3"
}
]
}
}
]
}
}
我想找到所有具有 'ATTR_VALS' = 'SampleData' 并且这些项目具有 'Height'=5
的对象
到目前为止我有:
SELECT test.GUID
FROM test
join OBJECTS in test.OBJECTS
join OBJECT in OBJECTS
join ATTR_VALS in OBJECT
join VALUE in ATTR_VALS
WHERE ATTR_VALS.NAME = 'SampleData' AND VALUE.NAME='Height' AND VALUE.VAL='5'
但这不起作用,returns没有结果。谢谢!
查询必须是:
SELECT test.SCHEMA_ID.GUID
FROM test
join OBJ in test.OBJECTS.OBJECT
join VAL in OBJ.ATTR_VALS["VALUE"]
WHERE OBJ.ATTR_VALS.NAME = "SampleData" AND VAL.NAME='Height' AND VAL.VAL='5'
我改变了几件事:
- JOIN 必须针对数组而不是对象执行。可以使用“.”扩展对象。运算符
- VALUE 是特殊关键字,必须转义
- 缺少投影子句中的小错字SCHEMA_ID
我在查询 DocumentDB 中的嵌套对象时遇到问题。我无法控制数据的格式。假设一个对象在 DocumentDB 中看起来像这样:
{
"SCHEMA_ID": {
"PROJECT": "A",
"MODEL": "B",
"GUID":"A GUID"
},
"STATE": {
"Active": "True"
},
"OBJECTS": {
"OBJECT": [
{
"ATTR_VALS": {
"NAME": "Header",
"ID": "0",
"VALUE": [
{
"NAME": "JobId",
"VAL": "1011656"
},
{
"NAM": "Region",
"VAL": "West Coast"
}
]
}
},
{
"ATTR_VALS": {
"NAME": "SampleData",
"ID": "0",
"VALUE": [
{
"NAME": "Height",
"VAL": "5"
},
{
"NAM": "Length",
"VAL": "3"
}
]
}
}
]
}
}
我想找到所有具有 'ATTR_VALS' = 'SampleData' 并且这些项目具有 'Height'=5
的对象到目前为止我有:
SELECT test.GUID
FROM test
join OBJECTS in test.OBJECTS
join OBJECT in OBJECTS
join ATTR_VALS in OBJECT
join VALUE in ATTR_VALS
WHERE ATTR_VALS.NAME = 'SampleData' AND VALUE.NAME='Height' AND VALUE.VAL='5'
但这不起作用,returns没有结果。谢谢!
查询必须是:
SELECT test.SCHEMA_ID.GUID
FROM test
join OBJ in test.OBJECTS.OBJECT
join VAL in OBJ.ATTR_VALS["VALUE"]
WHERE OBJ.ATTR_VALS.NAME = "SampleData" AND VAL.NAME='Height' AND VAL.VAL='5'
我改变了几件事:
- JOIN 必须针对数组而不是对象执行。可以使用“.”扩展对象。运算符
- VALUE 是特殊关键字,必须转义
- 缺少投影子句中的小错字SCHEMA_ID