2012-07-27 119 views
2

不能得到这个工作..我在这里丢失什么.. NodeJS,Mongoskin .. 我无法得到mapreduce的结果。数据库和收集似乎没问题。Mongo NodeJS map reduce

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);    
}); 

回答

8

你需要通过地图和减少功能字符串的MongoDB,让他们在服务器中执行:

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

我需要前缀连接字符串:

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

这不是对问题的回答。 – Brick 2015-09-17 19:03:48