1

我正在学习 CouchDB,但我不明白:当我创建视图时,视图是复制emit函数内部的数据还是仅基于它创建一个新索引?

例如,假设我有一个包含如下文档的数据库:

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

我的观点是这样的:

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

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

4

1 回答 1

1

使用该 map 函数,CouchDB 将基于doc.namevalue创建一个 B-tree 索引,doc.age并且它还将存储doc._id在那里的某个地方。所以它不会复制整个doc,但会在索引数据中存储这些字段,也许还有其他东西。

于 2019-03-04T05:50:45.980 回答