ブログ投稿のコンテンツと作成者の名前を使用してクエリ(ビュー)を作成する必要がある場合は、名前をブログコンテンツに含める必要があるため、すべてのブログ投稿を更新する必要があります。
名前が情報のみの場合(つまり、キーワードや作成者の名前などのブログ投稿コンテンツをクエリしない場合)、ブログドキュメントにIDを追加できます(もちろん、ブログコンテンツと作成者IDをクエリできます)。 {'_id':doc.author_id}を値として発行します。
include_docs=true
次に、作成者のドキュメントを提供します(blogpost-docではなくなります。結果行のIDを使用して明示的に呼び出す必要があります)。ブログ投稿を更新する必要はありません。
例:
ケース1:
名前で作成者を使用します。名前を含める必要があるため、すべてのドキュメントを更新します。
{
"_id":"blogpost1",
"author":"Oliver",
"keyword":"couchDB"
}
オリバーからのすべてのcouchdb投稿を探すには:
emit ([doc.author,doc.keyword],1)
電話:
&key=["Oliver","couchDB"]
ケース2:
名前でクエリする必要はありません
{
"_id":"blogpost1",
"author_id":"author-123",
"keyword":"couchDB"
}
emit (doc.keyword,{'_id':doc.author_id})
と著者のドキュメント:
{
"_id":"author-123",
"name":"Oliver"
}
電話:
?key=["couchDB"]&include_docs=true
結果:
...
{"id":"blogpost1","key":"couchDB","value":{"_id":"author-123"},"doc":{"_id":"author-123","_rev":"xxx","name":"Oliver,....