【发布时间】:2019-05-01 17:41:49
【问题描述】:
我正在尝试在 cosmos db 上获取符合特定条件的记录,但我一直无法做到,看起来 cosmos 正在抱怨 left 而我一直无法找到替代方案。
这是我一直在尝试获取记录的查询:
SELECT *
FROM Rx c
where c.tenantId = '5c6cb2d77c1c2edc001b9007' AND
c.left.series ='Clariti 1 Day Toric 30pk'
下面是一个示例 JSON 文档
{
"startDate": null,
"expirationDate": null,
"left": {
"seriesId": "54b80bae7558391d0044ffd7",
"productId": null,
"productName": null,
"series": "Clariti 1 Day Toric 30pk"
},
"right": null,
"tenantId": "5c6cb2d77c1c2edc001b9007"
}
这是返回的错误: 语法错误,'left' 附近的语法不正确。
【问题讨论】:
-
我试过了,语法错误消失了,但没有返回结果。 SELECT * FROM Rx c where c.tenantId = '5c6cb2d77c1c2edc001b9007' AND c.series='Clariti 1 Day Toric 30pk' SELECT * FROM Rx c where c.tenantId = '5c6cb2d77c1c2edc001b9007' AND "left.series"='Clariti 1 Day Toric 30pk'
-
JSON 字段命名为 left.series,我们是 Cosmos 的新手。如果 dataexplorer 因为 left 是关键字而抱怨,我们是否应该考虑重命名该字段?
-
您是否尝试过使用引号?另一个问题与您的问题非常相似:stackoverflow.com/questions/30849310/…
-
谢谢,在您发送链接之前我无法找到它,是的,这就是我正在寻找的解决方案。
-
此外,除了@JaimeDrq 共享的现在标记为重复的问题链接之外,我还发布了一个相关问题的答案,关于在属性名称中使用特殊字符,也需要括号正确解决。 link
标签: sql azure azure-cosmosdb cosmos