gpt4 book ai didi

azure-cosmosdb - CosmosDB,通过嵌套数组帮助扁平化和过滤

转载 作者:行者123 更新时间:2023-12-03 21:24:09 25 4
gpt4 key购买 nike

我正在尝试扁平化和过滤 CosmosDB 中的 json 数据。
数据如下所示,我想展平数组变量中的所有内容,然后按数组内的特定 _id 和时间戳进行过滤:

{
"_id": 21032,
"FirstConnected": {
"$date": 1522835868346
},
"LastUpdated": {
"$date": 1523360279908
},
"Variables": [
{
"_id": 99999,
"Values": [
{
"Timestamp": {
"$date": 1522835868347
},
"Value": 1
}
]
},
{
"_id": 99998,
"Values": [
{
"Timestamp": {
"$date": 1523270312001
},
"Value": 8888
}

]
}
]
}

最佳答案

如果您只想通过嵌套的 '_id' 属性查找过滤,那么您可以使用 ARRAY_CONTAINS 并将 partial_match 参数设置为 true。查询看起来像这样:

SELECT VALUE c
FROM c
WHERE ARRAY_CONTAINS(c.Variables, {_id: 99998}, true)

如果您还想展平数组,则可以使用 JOIN
SELECT VALUE v
FROM v IN c.Variables
WHERE v._id = 99998

关于azure-cosmosdb - CosmosDB,通过嵌套数组帮助扁平化和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49758552/

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