Поэтому я хочу использовать потоки изменений Mongodb для просмотра обновлений определенных наборов данных.
Например, лайки
await Match.updateOne({matchId: 79949451}, {$set: {statusType: 'inprogress'}}).exec();
const pipeline = [{ $match: { matchId: 79949451}}];
Match.watch(pipeline).on('change', data => console.log(data));
await Match.updateOne({matchId: 79949451}, {$set: {statusType: 'finished'}}).exec();
Это не похоже на работу. StatusType обновляется, но я не получаю журнал.
Но если я удалил конвейер, я вижу журнал
await Match.updateOne({matchId: 79949451}, {$set: {statusType: 'inprogress'}}).exec();
Match.watch().on('change', data => console.log(data));
await Match.updateOne({matchId: 79949451}, {$set: {statusType: 'finished'}}).exec();
До того, что я прочитал и понял, что конвейер работает только на обновленных полях и что-то связано с fullDocument
.
Как я могу заставить это работать? Есть что-то простое, что мне не хватает?