import mongoose from 'mongoose';
const userSchema = new mongoose.Schema({
username: {
type: String,
unique: true
}
});
userSchema.statics.findByLogin = async function(login) {
let user = await this.findOne({
username: login,
})
if(!user) {
user = await this.findOne({ email: login });
}
return user;
};
// what does this keyword refers to
userSchema.pre('remove', function(next) {
this.model('Message').deleteMany({ user: this._id }, next);
});
const User = mongoose.model('User', userSchema);
export default User;
Я просто пишу метод ловушки на userSchema, когда пользователь удаляется, который удаляет сообщения, написанные этим пользователем.Мой вопрос this.model('Message').deleteMany({ user: this._id }, next);
, к чему это относится в данном случае.Я думаю, что первое относится к мангусте, а второе - к пользователю, который в данный момент удален, но относится ли это к разным вещам в этом утверждении?