Azure函数中的SQL Query DocumentDB由一个不起作用的整数

时间:2017-08-06 06:11:09

标签: javascript node.js azure azure-cosmosdb azure-functions

我在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#中有效。

1 个答案:

答案 0 :(得分:3)

请参阅Amor对a similar question的回答。首先,您可以按照本答案中的步骤创建UDF,将字符串值转换为整数。然后更改SQL Query,如下所示:

SELECT * FROM c where c.random = udf.ConvertToNumber({randomId})