如何在 CosmosDB 上查询最近 30 天?

How do I query the last 30 days on CosmosDB?

我要检索过去 30 整天的记录。

我如何才能修改下面的 partitionID,以便它不会带回超过 30 天标记的任何记录?

SELECT * FROM c WHERE c.partitionID LIKE '%-2021-12-17%'

如果您有一列包含 ISO 8601 格式的日期时间,例如:

{
    "id": "test",
    "partitionKey": "a",
    "date": "2021-11-01T20:36:17.1234567Z"
}

您可以使用Date and time functions查询:

SELECT * FROM c
WHERE DateTimeDiff("day", c.date, GetCurrentDateTime()) <= 30

如果您想要某个时间段内的所有项目(这里以 2021 年 12 月的所有项目为例):

SELECT * FROM c
WHERE c.date >= '2021-12-01T00:00:00.0000000Z' AND c.date < '2021-12-31T00:00:00.0000000Z'