gpt4 book ai didi

azure - 数组属性的 DocumentDb SELECT 不返回任何内容

转载 作者:行者123 更新时间:2023-12-03 04:26:30 27 4
gpt4 key购买 nike

这是我在 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. 正如您在结果中看到的,它在返回的数组内创建一个对象。我怎样才能只得到数组中的团队。换句话说,我不希望结果中出现“favoriteTeams”对象。我认为这可能会导致我的代码出现问题,我无法将结果绑定(bind)到我的对象,因为我的代码需要一个数组 - 而不是包含该数组的对象。

我不确定获取数组是否可以解决第一个问题,但我至少想尝试一下。我还想了解如何获取其中包含团队的数组 - 结果中没有“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"
}
]
]

关于azure - 数组属性的 DocumentDb SELECT 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42619517/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com