1

CouchDBに関するIBMのチュートリアルに従っていて、編集したドキュメントの保存で問題が発生しました。新しいドキュメントの保存は正常に機能し、既存のドキュメントの値(openDoc関数を介して取得)はすべて有効であるように見えますが、新しい値は単に取得されていません。

実行中のコードをトレースすると、新しい値が存在するように見えます。

ここに画像の説明を入力してください

ただし、saveDoc 正常に戻った後(奇妙な!)、ドキュメントは更新されません。更新されたドキュメントをログに記録すると、ログに記録されたオブジェクトには値があり_idませ_revんが、保存中にそれらが存在していたことがはっきりとわかります(最初のスクリーンショットを参照)。

ここに画像の説明を入力してください

私が理解していないsaveDoc、またはおそらく最終的には、いくつかのニュアンスがありますか?

4

1 に答える 1

0

successコールバックでは、更新されたドキュメントをログに記録していません。87newdocからオブジェクトをログに記録しています(関数を通過したことを除いてsaveDoc、明らかに未定義_idであり_rev、問​​題ありません)。

コールバックにはsuccess、サーバーからの応答である引数を含めることができます。あなたが書く場合:

success: function(data) {
    console.log(data);
}

_rev応答に。で始まる新しいものが表示されます2-

更新されたドキュメント全体を本当に見たい場合は、コールバックから呼び出して、更新されたバージョンを取得してopenDocください。success


あなたが言うとき、他の詳細

saveDoc 正常に戻ります

非同期であり、とにかく即座に戻る必要がsuccessあるため、コールバックが呼び出されることを意味したと思います。saveDoc

于 2012-03-10T18:40:19.623 に答える