Callback data out of mongoose query Callback data out of mongoose query mongoose mongoose

Callback data out of mongoose query


You would either use the promise returned by .find().exec() without a generator:

var getMessage = function (params) {  return MessageModel.find({    to: params.to  }).exec();  }app.get('/message/to/:to', function*(next) {  this.body = yield getMessage(this.params);});

or yield the promise inside the generator and return the value you want:

var getMessage = function*(params) {  var data = yield MessageModel.find({    to: params.to  }).exec();  return data;}

Have a look at http://blog.stevensanderson.com/2013/12/21/experiments-with-koa-and-javascript-generators/ for more info on what you can yield.


disclaimer: I do not know koa.

Have you tried to yield the promise itself? https://github.com/LearnBoost/mongoose/issues/1859

var getMessage = function*(params) {  var mPromise = MessageModel.find({    to: params.to  }).exec();  yield mPromise;    }app.get('/message/to/:to', function*(next) {  this.body =    yield getMessage(this.params);});