【发布时间】:2014-09-18 21:31:31
【问题描述】:
我有文档和视图,您可以在其中按关键字列表进行搜索。文档可能如下所示:
{
_id: "foo",
keywords: ["bar", "baz"],
}
那么,我有观点:
map: function (doc) {
doc.keywords.forEach(function(word) {
emit(word, doc);
});
}
这很好用,因为我得到了foo 文档,但问题是如果我不提供密钥,我会得到这个文档两次,这是有道理的,因为它有两个关键字。但是,我只需要/想要该文档一次。
我也加了
reduce: function (key, value, rereduce) {
return value;
}
但这给了我reduce_overflow_error。如果我使用return null,那么我得到的文档值是null,这也不好。
我还阅读了有关为此使用列表函数的信息,但我不确定 list 函数应该在 couchapp 中的哪个位置。这似乎也很复杂,因为我认为应该很简单。
查询视图时如何阻止重复出现?
【问题讨论】: