Моя база данных Couchdb в качестве основного типа документа выглядит примерно так:
{
"_id" : "doc1",
"type" : "main_doc",
"title" : "the first doc"
...
}
Существует еще один тип документа, в котором хранится информация о пользователе. Я хочу, чтобы пользователи могли помечать документы как избранные. Разные пользователи могут сохранять одни и те же или разные документы в качестве избранных. Моя идея состояла в том, чтобы представить любимый документ для отслеживания этого, например:
{
"_id" : "fav1",
"type" : "favorite",
"user_id" : "user1",
"doc_id" : "doc1"
}
Достаточно просто создать представление с user_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"] }