视图是重复数据还是仅创建索引?

时间:2019-03-01 22:08:54

标签: nosql couchdb couchdb-2.0

我正在学习CouchDB,但我不明白:创建视图时,视图是否复制emit函数内部的数据,或者仅基于该函数创建新索引?

例如,假设我有一个数据库,其中包含这样的文档:

{
    "name": "Bob",
    "age": 30
}

我的看法是这样的:

function (doc) {
    emit(doc.name, doc.age);
}

当第一次执行视图时,CouchDB是否会创建每个文档(发射的字段)和视图索引的副本?还是只会创建一个索引?

1 个答案:

答案 0 :(得分:1)

使用该映射功能,CouchDB将基于doc.name创建一个B树索引,其值为doc.age,并将doc._id存储在该位置。因此它不会复制整个doc,但会在索引数据中存储这些字段以及其他内容。