Bạn bè của tôi, Thật không may tôi không thể tìm thấy bất kỳ ví dụ nào về cách triển khai thư viện lời hứa bluebird trong nút js express mongoose app.bluebird Các ví dụ điển hình bằng cách sử dụng nodejs, express và mongoose
Ứng dụng của tôi được thiết lập nơi mô hình mongoose, bộ điều khiển và tuyến đường nằm trong các tệp khác nhau.
Nhưng thực hiện nó với mongoose, tôi chỉ không thể tìm ra.
Vì vậy, ai đó có thể cho tôi biết cách sử dụng của nó. Vui lòng xem bên dưới.
//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);
}
});
};
// Mongoose Mẫu
/**
* 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);
Vì vậy, xin vui lòng nếu tôi muốn sử dụng thư viện hứa Bluebird, Làm thế nào sẽ để tôi đi về thay đổi export.list
Cảm ơn trước.
Một số câu hỏi,
nơi nào tôi gọi promisify trên mô hình mongoose? ví dụ: Article = mongoose.model('Article'); like this
Article = Promise.promisifyAll (require ('Article')); hoặc như thế này
var Article = mongoose.model('Article');
Article = Promise.promisifyAll(Article);
bạn có biết cách thực hiện điều này bằng es6 không? làm cách nào để tôi khuyến khích 'người chăn nuôi nhập khẩu' này từ 'mongoose'; ' –
Tôi tin rằng nó sẽ giống như:' nhập {mongoose} từ 'mongoose'; nhập {bluebird} từ 'bluebird'; var mongoose = bluebird.promisifyAll (mongoose); 'nhưng tôi không chắc chắn. Bạn có thể trộn lẫn commonJS với es6 theo cách, vì vậy tôi sẽ không lo lắng về nó @JesusAdolfoRodriguez –