假设我在DocumentDB中有3个对象。
这是课程记录。
现在,我希望得到所有身份证明,学生名字阳光充足的地方。
{
"id": "111",
"class": 1,
"students": [
{
"name": "sunny"
},
{
"name": "pinki"
},
{
"name": "bobby"
},
{
"name": "lucky"
}
]
}
{
"id": "222",
"class": 2,
"students": [
{
"name": "pinki"
},
{
"name": "sunny"
},
{
"name": "bobby"
}
]
}
{
"id": "333",
"class": 3,
"students": [
{
"name": "pinki"
},
{
"name": "lucky"
},
{
"name": "bobby"
}
]
}
获得结果的查询是什么?
答案 0 :(得分:8)
您可以使用DocumentDB' JOIN
在包含数组元素的文档上创建交叉产品。
例如,以下查询会在文档上创建一个包含students
属性的交叉产品,以便在students.name
上查询:
select doc.id
from doc
join students in doc.students
where students.name = 'sunny'
返回以下数据集:
[{
id: 111
}, {
id: 222
}]
参考:http://azure.microsoft.com/en-us/documentation/articles/documentdb-sql-query/#joins