将整个对象发送到流星方法

时间:2015-01-01 21:15:10

标签: meteor

将整个对象传递给流星方法被认为是不好的做法,我应该坚持只传递ID,然后使用传递的Id从流星方法中获取文档吗?

1 个答案:

答案 0 :(得分:3)

这里的主要考虑因素是安全性:如果你的方法希望传递一个对象,那么一个精通Meteor的用户可以从控制台调用它,传递他们选择的任何对象作为参数,无论它是否在您的数据库与否,从而绕过您设置的任何数据库架构/验证。为了避免这种情况,您需要在服务器端方法代码中查找数据库中的对象,这相当于在第一个位置传递整个对象而不仅仅是id。因此,总而言之,传递id而不是对象。

如果用户能够使用任意对象调用您的方法,那么我认为您绝对应该传递整个对象而不仅仅是id,否则您&# 39;重新需要将文档存储在数据库中,这样你就可以在它上面调用一个方法,这很丑陋。但是,我认为这将是一个相当不寻常的情况。