【发布时间】:2021-07-16 18:12:59
【问题描述】:
我有一个 deleteMany 请求,但我很难过滤 deleteMany 返回值的上下文。它只返回从 pusherjs 中删除的 1 个值。
这是我在服务器端的更改流代码和推送代码;
if (schedules.operationType === 'delete') {
const scheduleDetails = schedules.documentKey;
pusher.trigger('schedules', 'deleted', {
_id: scheduleDetails._id,
teamOne: scheduleDetails.teamOne,
teamTwo: scheduleDetails.teamTwo,
user: scheduleDetails.user,
isDone: scheduleDetails.isDone,
isStarted: scheduleDetails.isStarted,
date: scheduleDetails.date,
gameEvent: scheduleDetails.gameEvent,
});
}
这是我在客户端的推送代码。顺便说一句,我正在使用 React。它存储在我的上下文 api 中;
ScheduleChannel.bind('deleted', ({ deletedSchedule }) => {
console.log(deletedSchedule);
setScheduleList(
scheduleList.filter((schedule) => schedule._id !== deletedSchedule._id)
);
});
这是我应要求提供的代码;
exports.deleteallmatch = async (req, res) => {
try {
const { sub } = req.user;
const deletedMatches = await Schedule.deleteMany({ user: sub });
return res.status(201).json({
message: 'All of your schedule is successfully deleted!',
deletedMatches,
});
} catch (err) {
return res.status(400).json({
message: 'Something went wrong.',
});
}
};
删除请求很好,但我希望在我的应用程序中具有实时性。因为碰巧只发送一个数据而不是很多。我该如何解决这个问题?
【问题讨论】:
标签: node.js reactjs mongodb mongoose pusher