我想注册一个帮助程序,我可以在模板中使用它来检查文档是否存在。
我检查文件是否存在,如此
var selector = {
userid: "3R2pKdT3x9PjWLsD8",
};;
var this_exists = Af.find(selector, {limit: 1}).count() > 0;
我正在尝试注册这样的帮助
Template.registerHelper('ex', function() {
var selector = {
userid: "3R2pKdT3x9PjWLsD8",
};
var this_exists = Af.find(selector, {limit: 1}).count() > 0;
if(this_exists == true) {
return true;
} else {
return false;
}
});
并在我的诱惑中使用它
{{#if ex}}
{{> quickForm collection="Af" doc=cdoc id="updateSettings" omitFields="userid" class="settings" type="update" buttonContent="Update Settings"}}
{{else}}
{{> quickForm collection="Af" doc=this id="updateSettings" omitFields="userid" class="settings" type="insert" buttonContent="Insert Settings"}}
{{/if}}
但这不起作用。我哪里错了?。
答案 0 :(得分:0)
如果这不能解决您的问题,那么您的发布/订阅可能会出现问题。
您不需要限制。而是使用findOne
,您无需检查计数。
var exists = Af.findOne({userId: "3R2pKdT3x9PjWLsD8"}); //be careful with userId here, as it might be userid in your codes.
If(exists){
return true;
} //we don't need else block here. Your html if else block will work fine with this.
此外,如果您使用的userId是当前用户的id,则可以使用Meteor.userId()
var exists = Af.findOne({userId: Meteor.userId()});