在couchbase视图中筛选数据

在couchbase视图中筛选数据,couchbase,couchbase-view,Couchbase,Couchbase View,当我在couchbase中写入视图以返回整个文档时,它也会返回_sync:{}数据,是否有任何方法从响应中删除此数据 以下是我的查看功能:- function map(doc, meta) { if (doc.type == 'user' && doc.user_id) { emit(doc.user_id, doc); } } 首先,您不必发出整个文档。这会使磁盘上的索引更大,而且它是冗余的,因为您可以轻松地从视图行获取整个文档(文档id始终包

当我在couchbase中写入视图以返回整个文档时,它也会返回_sync:{}数据,是否有任何方法从响应中删除此数据

以下是我的查看功能:-

function map(doc, meta) {
    if (doc.type == 'user' && doc.user_id) {
        emit(doc.user_id, doc);
    }
}

首先,您不必发出整个文档。这会使磁盘上的索引更大,而且它是冗余的,因为您可以轻松地从视图行获取整个文档(文档id始终包含在内,SDK通常会透明地为您获取)

不过,在您的情况下,您可能实际上需要emit的第二部分。选择您感兴趣的属性并将它们以数组形式发出(如
emit(doc.user\u id,[doc.attributeA,doc.attributeB])
),从而有效地“过滤掉”
\u sync


唯一的问题是,如果以后向用户添加一个
attributeC
,它将不会自动被包括在内(因此它会过滤掉映射函数中未明确列出的属性)。这有意义吗?

您可以建议如何在不将其存储到任何集合的情况下获取过滤数据。