我正在建立一个任务管理应用程序,只有管理员可以删除用户。当管理员删除一个用户,我想分配删除用户的任务给他的assignby用户。
{
_id: new ObjectId("63bad43ee5d01d4cc13d58b2"),
title: 'Test task',
completed: false,
urgent: false,
assignedBy: new ObjectId("63afc89d7e3da6e5d996d415"), // ex: john
asignTo: new ObjectId("63bac632f2f1830832d229a4"), // ex: devid
__v: 0
}
当我从数据库中删除devid用户时,我想将他的任务分配给john并保存该任务
{
_id: new ObjectId("63bad43ee5d01d4cc13d58b2"),
title: 'Test task',
completed: false,
urgent: false,
assignedBy: new ObjectId("63afc89d7e3da6e5d996d415"), // ex: john
asignTo: new ObjectId("63afc89d7e3da6e5d996d415"), // ex: john
__v: 0
}
1条答案
按热度按时间yc0p9oo01#
我认为您正在寻找transactions,以避免丢失数据。
所以你可以尝试一些类似的东西(不是真实的的代码):
如果一切正常,提交事务并保存所有更改(如果需要,也可以添加一些
if
并抛出异常),否则可以回滚,不会丢失任何数据。