我的couchdb中的文档如下所示:
{
docType: "event",
tags: ["bb","aa","cc"],
...
}
我希望我的couchdb视图函数发出一个排序的标签数组,所以我尝试:
function(doc) {
if (doc.docType == 'event') {
if (doc.tags.length > 0) {
emit(doc.tags.sort(), doc._id);
}
}
}
但是,这个(.sort())并没有如预期般运作:结果只显示文档,其中tags数组只有一个实体(tags.length = 1)。
1条答案
按热度按时间bkhjykvo1#
我在couchDB Slack通道的帮助下找到了答案。sort()想改变原始数组中元素的位置,这不是view函数的目的。你可以看到每个数组的javascript引擎的异常,要排序的数组有多个条目。需要在之前将couchdb的日志级别切换到“debug”。
使用spread运算符创建一个新数组解决了这个问题: