Как запросить изнутри Mongoose pre hook в приложении Node.js / Express?
Я строю основной блог в Node.js / Express, используя MongoDB с Mongoose ORM.
У меня есть предварительно сохраненный хук, который я хотел бы использовать для автоматического создания блога / идеи для меня. Это работает хорошо и хорошо, за исключением части, где я хочу запросить, чтобы увидеть, есть ли какие-либо другие существующие сообщения с таким же слагом, прежде чем продолжить.
Тем не менее, похоже, что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();
});