使用audit-argument-checks
包进行检查时,在检查Meteor.userId()
时如何进行匹配?是否需要真正检查userId?
Meteor.publish('scores', function(userId) {
check(userId, Match.any)
return Scores.find({userId: userId})
})
答案 0 :(得分:4)
由于内置用户集合的ID生成始终为'STRING'
且无法更改,因此您可以执行以下操作:
check(userId, String);
如果您正在为其他集合使用'MONGO'
ID生成,那么您需要执行以下操作:
check(docId, Meteor.Collection.ObjectID);
答案 1 :(得分:3)
如果用户已登录,则发布功能已具有userId。它可以通过this.userId
访问,因此用户无需传递或检查它。
像这样:
Meteor.publish('scores', function() {
return Scores.find({userId: this.userId})
});