我在Azure Functions中使用JavaScript语言。当使用Cosmos DB作为输入时,我不能用整数作为变量进行查询。例如,我有以下内容:
使用Azure Cosmos DB作为我的输入(公司)进行功能设置。这是使用分区键{partitionKey}
和我的SQL查询SELECT * FROM c where c.random = {randomId}
设置的。
在功能代码中,我发送了以下内容作为我的测试数据:
{
"randomId": 1,
"partitionKey": "prospect"
}
有了这个,我没有结果。我确实已经确认我有一个random
的对象,其值为1.
如果我要使用值random
的{{1}}向我的收藏集添加内容,则可以使用以下内容:
"1"
我已经使用DocumentDB API和MongoDB API尝试了这一点,因为绑定内置于Azure Functions中,所以这并不重要。我在不同数据集中看到的趋势是,当您将整数参数绑定到查询或文档ID字段中的某些内容时,查询只是不起作用。
任何想法如何解决这个问题?
编辑:
我已经使用可用的文档证实了这在C#中有效。
答案 0 :(得分:3)
请参阅Amor对a similar question的回答。首先,您可以按照本答案中的步骤创建UDF,将字符串值转换为整数。然后更改SQL Query,如下所示:
SELECT * FROM c where c.random = udf.ConvertToNumber({randomId})