如果我有多个带有标签数组的文档,那么删除标记出现次数的最有效方法是什么。
示例文件:
"name": "doc1",
"tags": ["blue", "pink", "red"]
"name": "doc2",
"tags": ["brown", "pink", "yellow"]
如果我现在想删除"粉红色"从两个文档和所有文档中,我可以循环遍历每个文档,然后循环遍历每个标记数组,测试" pink"。但我试图找出是否有更高效和/或内置的方法来做到这一点?
答案 0 :(得分:0)
你可以做一个发出每个标签的视图。
例如:
function(doc){
for(var tag in docs.tags)
emit(tag);
}
然后,您可以通过指定要删除密钥的标记来查询视图。例如:?key="pink"
然后,您将不得不遍历所有返回的文档,从标记中删除粉红色并更新所有文档。