查询DocumentDb以获得内部结果

时间:2015-05-07 14:31:26

标签: azure-cosmosdb

我有一个这种结构的文件:

  [{
  "id": "test",
  "StudentRules": [
    {
      "id": "d8b730905",
      "name": "Test",
      "ruletype": "Allow",
      "startdate": "5/7/2015 10:05:15 AM"
    }
   ]

我需要编写一个查询,它将为我提供所有" StudentRules"对于给定的id" test"。

我写了这个:

select * from json j where j.id = "test"

这将返回结构,如上例所示。 我期待着这个:

       [
        {
          "id": "d8b730905",
          "name": "Test",
          "ruletype": "Allow",
          "startdate": "5/7/2015 10:05:15 AM"
        }
       ]

我们的想法是将列表中的所有规则都显示在MVC应用程序中。

非常感谢任何帮助。

提前致谢。

问候。

1 个答案:

答案 0 :(得分:2)

您可以使用JOIN关键字与嵌套数组元素形成交叉产品:

SELECT Rule.id, Rule.name, Rule.ruletype, Rule.startdate 
FROM root 
JOIN Rule IN root.StudentRules 
WHERE root.id = "test"

您可能会发现DocumentDB's query playground上的示例查询很有用。