Mongo NodeJS map减少

Joh*_*ams 2 mapreduce mongodb node.js

无法得到这个工作..我在这里缺少什么.. NodeJS,Mongoskin ..我无法得到mapreduce的结果.数据库和集合似乎没问题.

var mongo = require('mongoskin');
var db = mongo.db('localhost:27017/testdb?auto_reconnect=true&poolSize=5');

db.collection('users');
db.bind('users');

db.users.find().sort({userid: -1}).skip(0).limit(0).toArray(function(err, users) {
        //console.log(err, users);
});

m = function() {
        emit( this.userid, this);
}
r = function(k, v) {
        return {k: v}
}
db.users.mapReduce(m, r, {out: 'coll'}, function(e, c) {
                console.log(c);
                process.exit(1);            
});
Run Code Online (Sandbox Code Playgroud)

ben*_*y23 8

您需要传递映射并将函数作为字符串减少到mongodb,以便它们在服务器中执行:

db.users.mapReduce(m.toString(), r.toString(), {out: 'coll'}, function(e, c) {
                console.log(c);
                process.exit(1);            
});
Run Code Online (Sandbox Code Playgroud)