Если вам нужно написать запрос (просмотреть) с содержимым поста блога и именем автора, тогда имя должно быть включено в контент блога, и поэтому все посты блога должны быть обновлены.
если имя предназначено только для информации (я имею в виду, что вы не запрашиваете содержание блога, например ключевые слова и имя автора), вы можете добавить идентификатор в документ блога (и, конечно, теперь можете запрашивать содержимое блога).AND author-id) и emit {'_id': doc.author_id} в качестве значения.include_docs=true
затем дает вам документ автора (и больше не blogpost-doc .. вы должны называть его явным с идентификатором, который находится в строках результата). Нет необходимости обновлять посты блога.
Пример: Случай 1: При использовании Автор по имени необходимо указать имя и, следовательно, обновить ВСЕ документы.
{
"_id":"blogpost1",
"author":"Oliver",
"keyword":"couchDB"
}
для поиска всех сообщений couchdb от oliver:
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,....