【发布时间】:2019-11-03 20:12:30
【问题描述】:
我的 CosmosDB 的文档中有一个简单的数组。一个例子
SELECT * FROM c 返回:
[
{
"id": "v1234567",
"otherinfo": "othervalue",
"log": [
{
"ts": 1572786079799,
"e": "view1"
},
{
"ts": 1572781436024,
"e": "purchase"
},
{
"ts": 1572786079799,
"e": "view2"
},
{
"ts": 1572786082033,
"e": "view3"
},
{
"ts": 1572781436024,
"e": "purchase"
},
{
"ts": 1572786082033,
"e": "view4"
}
],
"_rid": "something",
"_self": "something",
"_etag": "\"something\"",
"_attachments": "attachments/",
"_ts": 1572786088
}
]
我想实现两件事,但不知道如何查看数组内部。
返回用户(记录)
log[n].e = "purchase"。我想我已经通过SELECT * from c WHERE ARRAY_CONTAINS(c.log, {"e": "atb"}, true) 实现了这一点
在日志中找到第一个
e="purchase"事件后返回用户 ID、“otherinfo”和部分日志。 (在本例中为 view2、view3、purchase、view4)。
我在 Azure 门户中使用文档资源管理器。尝试过加入查询,但立即失败(因为我可能弄错了)。
【问题讨论】:
标签: sql arrays azure azure-cosmosdb