【问题标题】:Filter data in couchbase View在沙发库视图中过滤数据
【发布时间】:2015-07-30 10:36:58
【问题描述】:

当我在 couchbase 中编写视图以返回整个文档时,它还返回 _sync":{} 数据,有没有办法从响应中删除这些数据。

这是我的视图函数:-

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

【问题讨论】:

    标签: couchbase couchbase-view


    【解决方案1】:

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

    不过,在您的情况下,您实际上可能需要发射的第二部分。选择您感兴趣的属性并将它们发送到一个数组中(如emit(doc.user_id, [doc.attributeA, doc.attributeB])),从而有效地“过滤掉”_sync

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

    【讨论】:

    • 你能建议我如何获取过滤器数据而不将其存储到任何集合中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    相关资源
    最近更新 更多