我有一个类似的架构:
Question { id, user, ... }
Answer { id, user, question, ... }
我想允许发布回答的用户或父问题删除答案。我该怎么做?
如果Answer
参数为userId
或Answer.user.id
,我想删除Answer.question.user.id
。
当前的实现看起来像
Answer.destroy({ id: id, user: loggedInUserId })
它只允许答案的所有者删除他的答案。缺少问题海报的部分可以删除他的问题下的任何答案
答案 0 :(得分:0)
Answer.destroy({ id: id, user: loggedInUserId })
将查询由Answers
用户编写并具有给定loggedInUserId
的{{1}}并将销毁找到的id
。为了实现您的目标,考虑到您知道自己的答案,您应该做以下事情:
Answer.findOne({id: answerId}).populateAll()
.exec(function(err, answer) {
if (answer.user.id == loggedInUserId || answer.question.user == loggedInUserId) {
answer.destroy(callback);
}
});
考虑answer
是您要销毁的Answer
实例。