私はCouchDbを試してみたいと思います。PhotoAlbumの小さなアプリケーションを開発して、さまざまなユーザーが多数の写真を含む多くのアルバムを持つことができます。添付ファイル付きの写真が含まれているアルバムの配列を含む、各ユーザーのためのドキュメントを作成すればいいのですか?couchdbで簡単なフォトアルバムのデータベースデザインを構成する方法は?
{
user: "Dominik",
albums: [
{ name: "USA Trip", photos:
[
{ title: "Golden Gate Bridge", _attachments: [ the photo ] },
{ another photo }
]
},
{ ...} ]
}
これを行うには別の方法がありますか?
また、ユーザー、アルバム、写真をそれぞれ別のドキュメントに保存する方が良いですか?これはmysqlのように外部キーを必要とするでしょうか?
{ type: "user", name: "Dominik", albums: [ "a1", "a2", "a3" ] }
{ type: "album", _id: "a1", title: "USA Trip", photos: [ "p1", "p2" ... ] }
{ type: "photo", _id: "p1", _attachments: {...}, title: "Golden Gate Bridge" }
...
や周り?:
{ type: "user", _id: "u1", name: "Dominik" }
{ type: "album", _id: "a1", title: "USA Trip", user: "u1" }
{ type: "photo", _id: "p1", _attachments: {...}, title: "Golden Gate Bridge", album: "a1" }
データの一部を別々に保存することについてもう一つ忘れています。アルバムの写真のタイトルを変更すると、文書全体が更新されます(そしてETagも)。これは良くないことがよくあります。 –