当我尝试对集合进行更新时,Meteor会在服务器上抛出异常。
Exception while invoking method '/reports/update' Error:
Did not check() all arguments during call to '/reports/update'
电话很简单:
Reports.update({ _id : this._id },{ $set : query });
更新
我尝试在更新前添加'check'
尝试了两个版本,结果相同:仍然抛出异常 版本1
check(query, Match.Any);
第2版
var update = { $set : query };
check(update, Match.Any);
该集合的allow方法定义为允许任何内容:
Reports.allow({
insert: function(){
return true;
},
update: function(){
return true;
},
remove: function(){
return true;
}
})
我可以在哪里放check(query, Match.Any)
?
答案 0 :(得分:0)
从事件或流星方法来看,配偶是相同的。 这是一个例子:
Template.YourTemplateName.events({
"click #yourElement:function(event,template){
check(query,Match.Any);
console.log("working");
//will always log "working"
}
});
"click #yourElement:function(event,template){
check("String",Number);
console.log("Not working");
//will throw an error and will not execute the log
}
});
你也可以尝试Match.test,如果值与模式匹配,它将返回true。 例如:
"click #yourElement:function(event,template){
if(Match.test("String",String)){
console.log("working");
//will execute
}
}
});