我正在学习CouchDB,但我不明白:创建视图时,视图是否复制emit
函数内部的数据,或者仅基于该函数创建新索引?
例如,假设我有一个数据库,其中包含这样的文档:
{
"name": "Bob",
"age": 30
}
我的看法是这样的:
function (doc) {
emit(doc.name, doc.age);
}
当第一次执行视图时,CouchDB是否会创建每个文档(发射的字段)和视图索引的副本?还是只会创建一个索引?
答案 0 :(得分:1)
使用该映射功能,CouchDB将基于doc.name
创建一个B树索引,其值为doc.age
,并将doc._id
存储在该位置。因此它不会复制整个doc
,但会在索引数据中存储这些字段以及其他内容。