特定のタグを含むドキュメントをすべて検索する検索機能をcouchdbビューで作りたいです。
次のドキュメントがあるとします。
{
"_id": "1",
"tags": ["abc", "acb", "abd"]
}
{
"_id": "2",
"tags": ["abc", "acb"]
}
そして私のマップ機能:
function(doc) {
for(var idx in doc.tags)
emit(doc.tags[idx], doc._id)
}
で始まるタグを含むすべてのドキュメントを検索したい場合ab
、クエリ パラメータを使用する?startkey="ab"&endkey="ab\u0999"
と、couchdb が返されます
{"total_rows":5,"offset":0,"rows":[
{"id":"1","key":"abc","value":"1"},
{"id":"2","key":"abc","value":"2"},
{"id":"1","key":"abd","value":"1"}
]}
reduce 関数を作成して、couchdb がビューから一意の ID を返すようにするにはどうすればよいですか?