Это один из основных вариантов использования промежуточного программного обеспечения Mongoose 'remove'
.
clientSchema.pre('remove', function(next) {
// 'this' is the client being removed. Provide callbacks here if you want
// to be notified of the calls' result.
Sweepstakes.remove({client_id: this._id}).exec();
Submission.remove({client_id: this._id}).exec();
next();
});
Таким образом, когда вы вызываете client.remove()
, это промежуточное программное обеспечение автоматически вызывается очистить зависимости.
Это может быть лишь ограничением реализации директивы. Из документов :
Тип возврата поля подписки в вашей схеме должен совпадать с типом возврата соответствующего поля мутации.
blockquote>Предполагая, что есть какое-то поле
type
, которое вы используете, чтобы различатьPersonalTask
иOtherTask
, одним из обходных путей будет подписка на все задачи, но использование аргумент для сужения подписки:подписка onUpdateTask (тип: String!): Task @aws_subscribe (мутации: ["updateTask"])