数组 属性 的 DocumentDb SELECT 没有 return 任何东西

DocumentDb SELECT for array property doesn't return anything

这是我在 DocumentDb 中的文档的样子:

{
   "id": 123,
   "favoriteTeams": [
      {
         "id": 234,
         "name": "Boston Celtics"
      },
      {
         "id": 345,
         "name": "Boston Red Sox"
      },
      {
         "id": 456,
         "name": "New England Patriots"
      }
   ]
}

如果我通过门户运行以下SELECT语句,我得到以下结果:

SELECT c.favoriteTeams FROM Collection c WHERE c.id = 123

结果如下所示:

[
   {
      "favoriteTeams": [
          {
            "id": 234,
            "name": "Boston Celtics"
          },
          {
            "id": 345,
            "name": "Boston Red Sox"
          },
          {
            "id": 456,
            "name": "New England Patriots"
          }
      ]
   }
]

两期:

  1. 如果我通过我的 ASP.NET 应用程序中的代码发送完全相同的查询,我会得到一个包含所有空值的对象。
  2. 正如您在结果中看到的那样,它在 returns 数组中创建了一个对象。我怎样才能只得到一个数组中的团队。换句话说,我不希望结果中有 "favoriteTeams" 对象。我认为这可能导致我的代码出现问题,我无法将结果绑定到我的对象,因为我的代码需要一个数组——而不是包含该数组的对象。

我不确定获取数组是否能解决第一个问题,但我至少想尝试一下。我还想学习如何获取其中包含团队的数组——结果中没有 "favoriteTeams" 对象。

如果您更改查询并添加 VALUE 关键字,您只会得到数组:

SELECT VALUE c.favoriteTeams FROM Collection c WHERE c.id = "123"

结果:

[
  [
    {
      "id": 234,
      "name": "Boston Celtics"
    },
    {
      "id": 345,
      "name": "Boston Red Sox"
    },
    {
      "id": 456,
      "name": "New England Patriots"
    }
  ]
]