我在MongoDB中有一个Map函数,我稍后使用Reduce。我使用的是一个拥有大量用户的集合,用户拥有一些频道。但是,有些用户没有任何通道,Map / Reduce功能会在我的脚本中引发错误。
map = Code("function () {"
" if(!this.channels) continue;"
" this.channels.forEach(function(z) {"
" emit(z, 1);"
" });"
"}")
当我使用return而不是继续退出该函数时,它可以完美地工作,除了我不想结束循环。这有什么聪明的方法吗?
感谢您的建议和更好的widsom。
答案 0 :(得分:0)
如果return
来自map
,则仅从map
返回此文档。无论如何,都将执行其他文件的地图。
我建议您将map
重写为此表单
function () {
if(this.channels) {
this.channels.forEach(function(z) {
emit(z, 1);
});
}
}
我认为,这种形式更清晰。它将为拥有频道的用户发出一些内容,并跳过那些没有频道的用户。