В Meteor, когда я предпочитаю method над правилом deny
?
Мне кажется, что правила allow
/deny
должны быть одобрены, поскольку их цель более ясна, и каждый знает, где их искать.
Однако в книге Discover Meteor предотвращение дублирования вставки ( "дубликат", определяемый как добавление документа, свойство url
уже определено в каком-либо другом документе той же коллекции), как говорят, должно определяться посредством метод (и оставленный как упражнение для читателя, глава 8.3).
Я думаю, что могу выполнить эту проверку способом, который я нахожу гораздо яснее:
Posts.deny({
update: function(userId, post, fieldNames, modifier) {
return Posts.findOne({ url: modifier.$set.url, _id: { $ne: post._id } });
}
});
(N.B., если вы знаете пример, да, я добровольно отказался от того, что "только подмножество атрибутов изменено" проверьте, чтобы вопрос был более конкретным.)
Я понимаю, что есть другие операторы обновления, чем $set
в Mongo, но они выглядят типизированными, и я не хочу оставлять открытое отверстие безопасности.
Итак: есть ли недостатки в моем правиле deny
? Независимо, должен ли я одобрить метод? Что я получу от этого? Что я проиграю?