javascript - map reduce命令中无法识别函数,mongoDB(javascript)
问题描述
我在 MongoDB 中尝试做的 map reduce 有一些问题。我定义的一个函数似乎在 reduce 函数中不可见。这是我的代码:
function getName(user_id){
var users = db.users.aggregate({$project:{"_id":"$_id", "name":"$name"}});
users.forEach((it) => {if (user_id == it._id) return it.name;});
return "user not found";
}
var mapFunc = function(){ emit(this.user_id, this.book_id) };
var reduceFunc = function(key, values){return getName(key);};
db.booksToRecover.mapReduce(mapFunc, reduceFunc, {out:'users_to_recover_books_from'});
解决方案
推荐阅读
- sql - 使用派生列插入 EXEC xp_dirtree
- html - 嵌套有序列表 HTML:第三个增量为不同类型
- javascript - 在 Web 源代码中检查 Anonimizing IP fun
- asp.net - ASP.NET Entity Framework 返回表内所有行的 JSON 对象
- c# - 在 automapper 的客户解析器中序列化模型对象时,javascriptserializer 会引发循环引用
- kubernetes-helm - Helm 搜索结果中没有预发布版本
- python - 从 Visual Studio Community 2019 中的 Django 项目连接到 MySQL
- java - 检查线程是否为空的方法(在Java中),操作数位置是否有所不同
- javascript - 单击时更改 div 的图像背景
- elasticsearch - 使用logstash将文档嵌套到elasticsearch