Я создаю базовый блог в Node.js/Express, используя MongoDB с Mongoose ORM.
У меня есть pre 'save' hook, который я бы хотел использовать для автоматического создания пула блога/идеи для меня. Это работает отлично и хорошо, за исключением той части, где я хочу выполнить запрос, чтобы увидеть, есть ли какие-либо другие существующие сообщения с тем же самым промахом, прежде чем продолжить.
Однако, похоже, что this
не имеет доступа к .find или .findOne(), поэтому я продолжаю получать сообщение об ошибке.
Какой лучший способ приблизиться к этому?
IdeaSchema.pre('save', function(next) {
var idea = this;
function generate_slug(text) {
return text.toLowerCase().replace(/[^\w ]+/g,'').replace(/ +/g,'-').trim();
};
idea.slug = generate_slug(idea.title);
// this has no method 'find'
this.findOne({slug: idea.slug}, function(err, doc) {
console.log(err);
console.log(doc);
});
//console.log(idea);
next();
});