2017-08-06 50 views
1

我在Azure函數中使用JavaScript語言。當使用Cosmos DB作爲輸入時,我無法將整數作爲變量進行查詢。例如,我有以下內容:在Azure中查詢DocumentDB函數按整數不起作用

以Azure Cosmos DB作爲我的輸入(公司)的功能設置。這是使用分區鍵{partitionKey}和我的SQL查詢SELECT * FROM c where c.random = {randomId}設置的。

在函數的代碼,我已經發下我的測試數據:

{ 
    "randomId": 1, 
    "partitionKey": "prospect" 
} 

有了這個,我沒有得到任何結果。我肯定證實我有一個物體具有1

random如果我用的東西用random"1"值添加到我的收藏來說,下面的工作:

{ 
    "randomId": "1", 
    "partitionKey": "prospect" 
} 

我已經用DocumentDB API和MongoDB API嘗試了這一點,這應該不重要,因爲綁定是內置到Azure函數中的。我用不同的數據集看到的趨勢是,當您將整數參數綁定到查詢或文檔ID字段中時,查詢不起作用。

任何想法如何解決這個問題?

編輯:

我已經證實這在C#中可用的文檔工作。

回答

2

請參閱Amor對a similar question的回答。首先,您可以按照此答案中的步驟創建UDF以將字符串值轉換爲整數。然後更改SQL查詢如下:

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

就是這樣。謝謝! –