Zrozumienie „Niedozwolone. Niezaufany kod może aktualizować dokumenty tylko ID. Błąd meteorów
WMeteor 0.5.8 wprowadzono następującą zmianę:
Wywołania aktualizacji i usuwania funkcji zbierania w niezaufanym kodzie mogą nie używać już dowolnych selektorów. Podczas wywoływania tych funkcji z klienta należy podać jeden identyfikator dokumentu (inny niż w kodzie metody).
Więc jeśli chcesz przesłać dowolne aktualizacje do bazy danych z konsoli klienta, musisz zrobić coś takiego:
People.update({_id:People.findOne({name:'Bob'})['_id']}, {$set:{lastName:'Johns'}});
Zamiast:
People.update({name:'Bob'}, {$set:{lastName:'Johns'}});
Myślałem, że problem bezpieczeństwa jest kontrolowany przez ustawienie funkcji Meteor.Collection.allow i .deny w połączeniu z pakietami autopublish i niezabezpieczonymi. Podobało mi się, że mogę korzystać z bazy danych z konsoli JavaScript JavaScript.
Jaka jest motywacja do zmian w Meteor 0.5.8?