数组 属性 的 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"
}
]
}
]
两期:
- 如果我通过我的 ASP.NET 应用程序中的代码发送完全相同的查询,我会得到一个包含所有空值的对象。
- 正如您在结果中看到的那样,它在 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"
}
]
]
这是我在 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"
}
]
}
]
两期:
- 如果我通过我的 ASP.NET 应用程序中的代码发送完全相同的查询,我会得到一个包含所有空值的对象。
- 正如您在结果中看到的那样,它在 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"
}
]
]