0

当我尝试对集合进行更新时,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 });

更新:

我尝试在更新前添加“检查”

尝试了两个版本,结果相同:仍然抛出异常版本 1

check(query, Match.Any);

第 2 版

var update = { $set : query };
check(update, Match.Any);

并且该集合具有定义为允许任何内容的允许方法:

  Reports.allow({
     insert: function(){
        return true;
     },
     update: function(){
        return true;
     },
     remove: function(){
        return true;
     }
  })

我可以把它放在哪里check(query, Match.Any)

4

1 回答 1

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  
        }
       }
     });
于 2013-11-06T16:06:47.977 回答