我有一个view
和一个map
函数,在CouchDB
. 我只是迭代数组中的一些值,然后单独发出它们。不过,我想排除我发出的文档的属性。我希望只是调用delete
它,但这似乎没有做任何事情。该值仍随属性发出。这是为了保持快速索引的限制吗?我的地图功能如下所示:
function(doc) {
if (doc.type == 'user' && doc.spaces) {
doc.spaces.forEach(function (space) {
if (space.tokens) {
space.tokens.forEach(function (token) {
emit(token.token, space);
});
}
});
}
}
在我发出的地方space
,我想在发出tokens
之前删除它的属性。我不想在此数据中公开其他令牌。所以,我修改代码看起来像这样,没有运气。它仍然发出完整的文档,令牌完好无损:
function(doc) {
if (doc.type == 'user' && doc.spaces) {
doc.spaces.forEach(function (space) {
if (space.tokens) {
var tokens = space.tokens;
delete space.tokens;
tokens.forEach(function (token) {
emit(token.token, space);
});
}
});
}
}