Ответ 1
Из Метеорного блога:
Изменяет правила allow/deny
Начиная с 0.5.8, клиентский код, такой как обработчики событий, может обновлять или удалять только один документ за раз, указанный _id. Код метода может по-прежнему использовать произвольные селекторы Mongo для манипулирования любым количеством документов одновременно. Чтобы запускать сложные обновления из обработчика событий, просто определите метод с Meteor.methods и вызовите его из обработчика событий.
Это изменение значительно упрощает API-интерфейс allow/deny, поощряет лучшую структуру приложения, позволяет избежать потенциальной атаки DoS, в которой злоумышленник может заставить сервер выполнять большую работу, чтобы определить, разрешена ли операция, и устраняет проблему безопасности сообщается @jan-glx.
Чтобы обновить свой код, измените обработчики allow и deny на использование одного документа, а не массива документов. Это должно значительно упростить ваш код. Также проверьте, есть ли у вас какие-либо обновления или удаления вызовов в обработчиках событий, которые используют селекторы Mongo (это довольно редко), и если да, переместите их в методы. Подробнее см. В документах update и remove.
В принципе, с моей точки зрения, вы почти никогда не хотите, чтобы поведение могло обновлять и удалять произвольные наборы документов от клиента без каких-либо конкретных знаний (например, идентификатор документа).
Когда прототипирование, которое я предполагаю, это то, что вы делаете, я полагаю, что это может мешать, но если вы когда-нибудь захотите получить свой код в производство, я считаю, что плюсы перевешивают минусы. Это также сводится к объявлениям безопасности (allow
и deny
), которые легче указать после этого изменения.
Надеюсь, что вам была предоставлена дополнительная информация.