【发布时间】:2022-06-20 11:18:31
【问题描述】:
SQL、函数和 cosmos db 的新手,抱歉
我正在使用 Javascript,尝试使用 http 触发器中的一些路由参数和查询参数,使用其输入绑定从 cosmos db 检索数据。
在 cosmos db 输入绑定的“sqlQuery”中,这些路由/查询参数可以用 {key} 引用。当我尝试在 SELECT 子句中使用 {key} 时,它被解析为字符串并导致一些问题。
- 我想使用 TOP n 过滤,因为 {max} 被解析为字符串,我尝试使用 CAST/CONVERT 转换为数字,得到不同的错误。
"sqlQuery": "SELECT TOP {max} * FROM c" 错误:TOP 需要一个数字
"sqlQuery": "SELECT TOP CAST({max} AS int) * FROM c" 错误:语法接近
- 我想在 JSON 中选择一些属性,我想我应该使用 c[{telemetry}],它确实有效,但结果是带有键名 =“$1”的 JSON,
"sqlQuery": "SELECT TOP 10 c[{telemetry}] FROM c"
我得到 {$1: 25.3} 并且我期望类似 {temperature: 25.3}
- 如果我使用 AS 转换,会出现语法错误。
"sqlQuery": "SELECT TOP 10 c[{telemetry}] AS {telemetry} FROM c"
【问题讨论】:
标签: azure-functions azure-cosmosdb