javascript - 通过整数在 Azure Functions 中 SQL 查询 DocumentDB 不起作用

标签 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" ,以下将起作用:
{
    "randomId": "1",
    "partitionKey": "prospect"
}

我已经使用 DocumentDB API 和 MongoDB API 进行了尝试,这无关紧要,因为绑定(bind)是内置在 Azure Functions 中的。我在不同数据集上看到的趋势是,当您将整数参数绑定(bind)到查询或文档 ID 字段中的某些内容时,查询不起作用。

任何想法如何解决这一问题?

编辑:

我已经用可用的文档确认这在 C# 中有效。

最佳答案

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

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

关于javascript - 通过整数在 Azure Functions 中 SQL 查询 DocumentDB 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45529125/

相关文章:

node.js - 本地测试 Azure 移动身份验证 - 无效的 jwt 签名

javascript - Node.js(VS代码)中的环境变量未定义

c# - 登录 Microsoft AD 后 Request.IsAuthenticated 始终为 false

azure - 在使用 Azure 资源管理器时使用静态 IP 反向 DNS

javascript - 如何不使用 jQuery 仅选择表中的特定元素?

javascript - 使用javascript在文本框中显示数据

Javascript:if 语句中出现奇怪的非法字符错误

javascript - SlideDown() 不适用于 jQuery 中的 After()

html - 如何递归爬网url子目录?

java - 如何通过 Java SDK 在 Azure Key Vault 中创建 key ?