我的朋友們,不幸的是,我找不到任何有關如何在節點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