code: function saveAsync(doc) {
    return new Promise(function (resolve, reject) {
      doc.save(function (err, doc) {
        /* istanbul ignore if: This should handle errors just fine */
        if (err) { return reject(err); }
        resolve(doc);
      });
    });
  }
docs: With the save, it doesn't return a promise, so there's that. No support for promises on the save until 4.0 https://github.com/LearnBoost/mongoose/issues/1431