【发布时间】:2021-04-07 07:55:16
【问题描述】:
我有以下数据结构(能够按天查询和过滤):
"id": "someId",
"dailyPlan": {
"2020-04-07": {
"activityCategoryOne": {
"activityOne": "someID",
"activityTwo": "someIDTwo"
}
}
}
所以现在我只想查询过去和接下来两周的项目。但我不知道如何查询键名(“2020-04-07”)。 这可能吗?如果可以,您能否给我一个提示或文档链接,因为我在研究中找不到任何相关信息。
非常感谢!
最好, Tixamaster
【问题讨论】:
-
使用 udf 创建自定义函数或将您的密钥设为“date”:“2020-04-07”之类的值。我也没有找到任何文档来实现您的目标:(
-
键应该是固定路径,而不是可查询的变量。如评论所述,最好重构为
date属性,并将日期作为值。 -
同意其他cmets。将实际内容存储为 key 而不是 value 是一种反模式。一旦您将日期移动为某个属性的值,那么您将触手可及的 SQL API 的全部查询功能。在设计这样的模式时,除了蛮力之外真的没有其他解决方案。我回答了另一个问题here,其中部分问题也正是如此(您可以查看我在回答中包含的重构,您可以在其中采取类似的方法)。
标签: azure azure-cosmosdb azure-cosmosdb-sqlapi