CouchDBの初心者として、ドキュメントを更新する方法を理解するのが苦労しています。なぜドキュメントを更新するには2つの方法がありますか?
私は私のために非常に混乱して、私はこれを見つけるドキュメント読んだとき:
1)既存のドキュメントを更新するには、既存の文書
の更新を、あなたは内の現在のリビジョン番号を指定する必要があります。 _revパラメーター
2)アップデート機能
更新ハンドラは、クライアントが文書を作成または更新するサーバー・サイド・ロジックを起動することを要求することができる機能です。
出典:Chapter 6.1.4 Design Documents
は、あなたがあなたのドキュメントを更新することを好むかどの方法を教えていただけますか?
編集1:
のは、データ構造がいくつかの基本的なフィールドを持つ単純なcar
文書であるとしましょう。
{
"_id": "123",
"name": "911",
"brand": "Porsche",
"maxHP": "100",
"owner": "Lorna"
}
は今owner
変更は、あなたはまだオプション1を使用するのでしょうか? 1つのフィールドだけを編集することはできないので、オプション1にはかなりの欠点があります。最初にすべてのフィールドを取得し、owner
フィールドだけを編集し、ドキュメント全体を返送する必要があります。私はちょうどそれを試したと私はこれがかなり長いことを見つける。うーん...
偉大な説明、それに感謝します。ドキュメントを部分的に更新したいときにオプション2を選択するかどうか尋ねてもいいですか?私はそれを検索し、更新ハンドラ関数の使用を参照する回答のみを見つけました。 [回答:23208549](https://stackoverflow.com/a/23208549/8314623)&[回答:41485731](https://stackoverflow.com/a/41485731/8314623)などです。 – Magiranu
あなたは確かに部分的な更新のためのアプローチを取ることができますが、私はそれを必要とするデータ構造を見て興味があります。データ設計はもちろん趣味の問題ではあるが、「より小さな文書が紛争を起こす可能性は低い」と確信している。 –
ロルナ、私は自分のオリジナルの質問を編集して、あなたのコメントに関して簡単な例を加えました。どのオプションを選択するか教えていただければ幸いです!どうもありがとう! – Magiranu