You need to plugin a promise library (q, bluebird, the es6 one...)
mongoose.Promise = require('bluebird');
From node 4.x you can just use ES6 promises:
const mongoose = require('mongoose');mongoose.Promise = Promise;
Here's an example that may help. Using es6 modules (instead of CommonJS require) this works for me:
// mongoose's Promise library is deprecated, using es6's: import es6Promise from 'es6-promise';mongoose.Promise = es6Promise.Promise;