2017-05-16 43 views
0

我正嘗試使用Node將大量數據批量導入到DocumentDB中。我已經創建了推薦的存儲過程(已在此處和MSDN上多次發佈的過程)。但是,當我嘗試通過Node執行它時,我得到以下響應:「源自腳本的請求無法引用除提交客戶端請求的分區鍵之外的分區鍵。」使用nodeJS和Azure DocumentDB批量導入。分區鍵問題

在收集partitionKey是「/id」,而我的節點請求是這樣的:

client.executeStoredProcedure('dbs/blah/blah/sprocs/blah', [docs], {partitionKey: '/id'}, ...);

我無法找到任何這簡潔的文件,因爲它涉及到節點明確。有沒有人遇到過這個問題,有沒有解決方案?我完全接受這個想法,認爲我犯了一個愚蠢的錯誤,但這是我的第一個Roordo,可以說是DocumentDB。謝謝大家

回答

0

我懷疑你在試圖導入的數據集中有一個/id而不是你指定的數據。如果是這樣的話,我可以考慮兩種選擇:

  1. 不使用sproc並從node.js腳本一次加載它們一個。我建議使用其中一個async.js函數或其他並行庫中的等價函數,以便可以並行執行多個請求。

  2. 您可以將數據客戶端分開/id然後調用每個集合的存儲區。