node.js - MapReduce in keystone- giving error -
this mapreduce code nodejs works fine & perfect
var server = new server('localhost', 27017, {auto_reconnect: true}); db = new db('test1', server); db.open(function(err, db) { if(err) console.log("connected 'driverb' database"); db.collection('users', function(err, collection) { var map = function() { emit(this.username.substr(this.username.indexof('@') + 1),1); }; var reduce = function(host, count) { return array.sum(count) ; }; collection.mapreduce(map, reduce, { out: "domain" }; } ); });
now wrote similar kind of code keystone throwing me error in next block. writing code part of upgrade migration script.
var keystone = require('keystone'); var user = keystone.list('user'); exports = module.exports = function(done) { var map = function() { emit(this.username.substr(this.username.indexof('@') + 1),1); }; var reduce = function(host, count) { return array.sum(count) ; }; //user.model.mapreduce user.model.mapreduce(map, reduce, { out: "domain" }); done();
this error above output of code.
/path//node_modules/keystone/node_modules/mongodb/lib/mongodb/collection/aggregation.js:42 throw new error("the out option parameter must defined, see mongodb docs possible values"); ^ error: out option parameter must defined, see mongodb docs possible values @ collection.mapreduce (/path//node_modules/keystone/node_modules/mongodb/lib/mongodb/collection/aggregation.js:42:11) @ nativecollection.(anonymous function) [as mapreduce] (/path//node_modules/keystone/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:135:28) @ function.mapreduce (/path//node_modules/keystone/node_modules/mongoose/lib/model.js:1729:19) @ module.exports (/path//updates/0.0.5-domaincreate.js:14:14) @ promise.<anonymous> (/path//node_modules/keystone/lib/updates.js:108:6) @ promise.<anonymous> (/path//node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:177:8) @ emitone (events.js:96:13) @ promise.emit (events.js:188:7) @ promise.emit (/path//node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:84:38) @ promise.fulfill (/path//node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:97:20) @ immediate.cb (/path//node_modules/keystone/node_modules/mongoose/lib/query.js:1153:30) @ immediate.<anonymous> (/path//node_modules/mquery/lib/utils.js:137:16) @ runcallback (timers.js:637:20) @ tryonimmediate (timers.js:610:5) @ processimmediate [as _immediatecallback] (timers.js:582:5) process finished exit code 1
any suggestions why error coming on keystone . refrence good
Comments
Post a Comment