Waterline JS基于父级破坏模型

时间:2015-01-19 04:39:38

标签: sails.js waterline

我有一个类似的架构:

Question { id, user, ... }
Answer { id, user, question, ... }

我想允许发布回答的用户或父问题删除答案。我该怎么做?

如果Answer参数为userIdAnswer.user.id,我想删除Answer.question.user.id

当前的实现看起来像

Answer.destroy({ id: id, user: loggedInUserId })

它只允许答案的所有者删除他的答案。缺少问题海报的部分可以删除他的问题下的任何答案

1 个答案:

答案 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实例。