根据.native()文档,对sails-mongo使用.native()查询的方法是:
Pet.native(function(err, collection) {
if (err) return res.serverError(err);
collection.find({}, {
name: true
}).toArray(function (err, results) {
if (err) return res.serverError(err);
return res.ok(results);
});
});我如何避免这里的回调,而使用promises。注意,我必须使用聚合查询,因此必须使用.native()
发布于 2016-08-30 17:43:48
如前所述,here在配置中打开bootstrap.js,并使用如下承诺修补所有方法
module.exports.bootstrap = function(cb) {
var Promise = require('bluebird');
Object.keys(sails.models).forEach(function (key) {
if (sails.models[key].query) {
sails.models[key].query = Promise.promisify(sails.models[key].query);
}
});
cb(); };在奖励方面,你可以在所有型号上使用最新版本的bluebird。希望能有所帮助
https://stackoverflow.com/questions/39219574
复制相似问题