问题描述
所以我想首先找到用户想要删除的评论,然后检查用户名是否匹配以验证用户是否有权执行此操作(我知道用户名不是最安全的方法,这只是为了测试版)。
这就是我现在拥有的
// Deleting One
router.delete('/delete/:id',(req,res) => {
const Voter = req.body.Voter;
const id = req.params.id;
var sendContent = {};
Comments.findById({_id: id},(error,result) => {
console.log(`${Voter} and ${result.user}`)
if(Voter !== result.user) {
sendContent.msg = 'You can\'t delete someone else\'s Comment';
sendContent.code = 500;
res.send(sendContent);
} else {
sendContent.msg = 'Currently in Test Mode but this is where the comment would be deleted';
sendContent.code = 500;
res.send(sendContent);
}
result.save()
})
})
是否有 result.delete() 函数或其他东西?可能是一个愚蠢的问题,但提前致谢。
解决方法
不,您需要使用 remove
或其他一些删除/查找和删除功能。
// Deleting One
router.delete('/delete/:id',(req,res) => {
const voter = req.body.voter;
const id = req.params.id;
var sendContent = {};
Comments.findById({_id: id},(error,result) => {
console.log(`${voter} and ${result.user}`)
if(voter !== result.user) {
sendContent.msg = 'You can\'t delete someone else\'s Comment';
sendContent.code = 500;
res.send(sendContent);
} else {
sendContent.msg = 'Currently in Test Mode but this is where the comment would be deleted';
sendContent.code = 500;
Comments.remove({_id: id},(err,deleted) =>
!err && console.log('comment deleted')
res.send(sendContent)
);
}
})
})