如何编写 Cosmos DB 查询以获取没有子数组名称的子数组
How to write a Cosmos DB query to get child array without the child array name
是否可以编写一个查询来获取没有名称的子数组?
我知道有两种获取子数组的方法,但是这两种方法都是 return JSON 包含子数组名称的文件。有没有办法不获取子数组名称
预期输出:
[
{
"name": "acvb",
"addr": "bca",
"age": 20
},
{
"name": "zxc",
"addr": "evd",
"age": 22
}
]
实际输出:
[
{
"event": [
{
"name": "acvb",
"addr": "bca",
"age": 20
},
{
"name": "zxc",
"addr": "evd",
"age": 22
}
]
},
{}
]
查询我正在使用
SELECT c.event FROM c
我还注意到我在对象数组之后返回了一个空对象 {}。我在 Cosmos DB 上 运行 它并得到了这个结果,似乎无论我如何给出查询我都会得到这个。有什么办法可以解决这个问题吗?
假设您的输入数据如下:
{
"id": "something",
"_partitionKey": "partition key value",
"event": [
{
"name": "acvb",
"addr": "bca",
"age": 20
},
{
"name": "zxc",
"addr": "evd",
"age": 22
}
]
}
您可以使用以下查询:
SELECT *
FROM c IN t.event
它将产生以下输出:
[
{
"name": "acvb",
"addr": "bca",
"age": 20
},
{
"name": "zxc",
"addr": "evd",
"age": 22
}
]
更多详细信息,请参阅此博客post:https://devblogs.microsoft.com/cosmosdb/understanding-how-to-query-arrays-in-azure-cosmos-db/。
是否可以编写一个查询来获取没有名称的子数组?
我知道有两种获取子数组的方法,但是这两种方法都是 return JSON 包含子数组名称的文件。有没有办法不获取子数组名称
预期输出:
[
{
"name": "acvb",
"addr": "bca",
"age": 20
},
{
"name": "zxc",
"addr": "evd",
"age": 22
}
]
实际输出:
[
{
"event": [
{
"name": "acvb",
"addr": "bca",
"age": 20
},
{
"name": "zxc",
"addr": "evd",
"age": 22
}
]
},
{}
]
查询我正在使用
SELECT c.event FROM c
我还注意到我在对象数组之后返回了一个空对象 {}。我在 Cosmos DB 上 运行 它并得到了这个结果,似乎无论我如何给出查询我都会得到这个。有什么办法可以解决这个问题吗?
假设您的输入数据如下:
{
"id": "something",
"_partitionKey": "partition key value",
"event": [
{
"name": "acvb",
"addr": "bca",
"age": 20
},
{
"name": "zxc",
"addr": "evd",
"age": 22
}
]
}
您可以使用以下查询:
SELECT *
FROM c IN t.event
它将产生以下输出:
[
{
"name": "acvb",
"addr": "bca",
"age": 20
},
{
"name": "zxc",
"addr": "evd",
"age": 22
}
]
更多详细信息,请参阅此博客post:https://devblogs.microsoft.com/cosmosdb/understanding-how-to-query-arrays-in-azure-cosmos-db/。