我的CouchDB数据库作为主文档类型,看起来像:如何在Couchdb map/reduce中获得用户喜爱的用户文档视图?
{
"_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"] }
或者在单独的请求中获取文档标题真的没有多少开销?我已有另一个输出文档ID和标题的视图。我试图避免再次调用数据库来获取每个喜爱的文档标题。 – 2010-03-23 12:21:14