我的朋友们,不幸的是,我找不到任何有关如何在节点js express mongoose应用程序中实现蓝鸟许诺库的例子。bluebird promisies使用nodejs,express和mongoose的crud示例
我的应用程序安装在mongoose模型,控制器和路由在不同文件中。
但实施它与猫鼬,我只是不知道。
所以请有人可以告诉我它是如何使用的。请看下面。
//express controller Article.js
var mongoose = require('mongoose'),
errorHandler = require('./errors'),
Article = mongoose.model('Article');
exports.list = function(req, res) {
Article.find().sort('-created').populate('user', 'displayName').exec(function(err, articles) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(articles);
}
});
};
//猫鼬型号
/**
* Module dependencies.
*/
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
/**
* Article Schema
*/
var ArticleSchema = new Schema({
created: {
type: Date,
default: Date.now
},
title: {
type: String,
default: '',
trim: true,
required: 'Title cannot be blank'
},
content: {
type: String,
default: '',
trim: true
},
user: {
type: Schema.ObjectId,
ref: 'User'
}
});
mongoose.model('Article', ArticleSchema);
所以,请,如果我想使用蓝鸟承诺库,我将如何去事先改变export.list
感谢。
一些问题,
我在哪里可以打电话promisify上的猫鼬模型? 例如Article = mongoose.model('Article'); like this
Article = Promise.promisifyAll(require('Article')); 或 这样
var Article = mongoose.model('Article');
Article = Promise.promisifyAll(Article);
你知道如何用es6做到这一点吗? 我怎么会promination这个'从mongoose'进口猫鼬';' – 2016-06-01 05:19:01
我相信它会是这样的:'从'mongoose'进口{mongoose}; 从'bluebird'导入{bluebird}; var mongoose = bluebird.promisifyAll(mongoose);'但我不确定。你可以混合commonJS与es6两种方式,所以我不会担心它@JesusAdolfoRodriguez – 2016-06-01 14:59:25