次のようなメイン ドキュメント タイプとしての私の Couchdb データベース:
{
"_id" : "doc1",
"type" : "main_doc",
"title" : "the first doc"
...
}
ユーザー情報を格納する別の種類のドキュメントがあります。ユーザーがドキュメントをお気に入りとしてタグ付けできるようにしたい。異なるユーザーは、同じまたは異なるドキュメントをお気に入りとして保存できます。私のアイデアは、お気に入りのドキュメントを紹介して、これを次のように追跡することでした。
{
"_id" : "fav1",
"type" : "favorite",
"user_id" : "user1",
"doc_id" : "doc1"
}
user_id をキーとしてビューを作成し、お気に入りのドキュメント ID のリストを取得するのは簡単です。例えば:
function(doc) {
if (doc.type == "favorite") {
emit(doc.user_id, doc.doc_id);
}
}
ただし、お気に入りのリストを表示して、ドキュメントの user_id、doc_id、およびタイトルを表示したいと考えています。したがって、次のように出力します。
{ "key" : "user1", "value" : ["doc1", "the first doc"] }