DocumentDbストアドプロシージャをテストしているうちに、私は重複したIDを持つドキュメントを意図的に作成して、DocumentClientExceptionを観察できるようにしました。 http://azure.github.io/azure-documentdb-js-server/Collection.html#.ErrorCodesの文書によると、私は例外がコンフリクトを示す409ステータスコードを持つと予想していました。ドキュメントクライアント例外不正なエラーステータスコード
isAccepted = collection.createDocument(collectionLink,
duplicateIdDoc,
{ disableAutomaticIdGeneration: true },
function(err, createdDoc, options){
if (err) throw err; // Rollback
});
私は例外を受け取るかが、エラーコードは400(BadRequest)は次のよう
ストアドプロシージャのコードがあります。メッセージ・テキストに正しい問題が示されています。指定されたIDまたは名前を持つリソースがすでに存在します。 "メッセージ:{\"エラー: "[\"実行中に例外が発生しました。 Exception =エラー:{\\ "Errors \\":[\\ "指定されたIDまたは名前を持つリソースは既に存在しています\\"]} \ r \ nStackトレース:Error:{\\ "Errors \\":[\\ " "匿名関数(duplicateIdTest.js:56:26)\ n匿名関数(duplicateIdTest.js:685:29)\"]} \ r \ nActivityIdで指定されたIDまたは名前のリソースが既に存在します。 :886230cf-8d49-433e-845f-8cc7c2ae486d、リクエストURI:/ apps/514defcb-ac21-44e6-a8e0-c7b785523c6c/services/32782613-7101-4924-97b0-604052a6723b/partitions/be6c2ec8-130c-4596-90a2-b1807977dd0b/replicas/131240065159522367p "
私に何か不足していますか?ありがとう。
ありがとうございました。少し不思議そうですが、次の 'if(err)throw new error( 'CODE' + err.number + 'CODE');を使用して実際のコードを取得し、Regexを使用してエラーメッセージからそれを分割することができます。 –