如何检查Meteor.user()._id
数组中是否存在当前"favoritedBy"
?
如果为true,请打印"Your favorite"
,如果为false,则打印"Not your favorite"
。
MongoDB中的文档:
{
"_id" : "W5WwAZatorDEb6DNP",
"createdBy" : "aTmb64zNGSyeDYFJZ",
"favoritedBy" : [
"X594baqWYZiJqA3Qg",
"fgk234m2dkD229d12"
]
}
假设Meteor.user()._id
返回X594baqWYZiJqA3Qg
。
如何对此进行真/假检查?
我尝试了以下内容:
isFavorite: function() {
var user = Meteor.user()._id;
return Posts.find({favoritedBy: user});
}
在模板中:
{{#if isFavorite}}
Your favorite
{{else}}
Not your favorite
{{/if}}
但它似乎不起作用,因为它始终返回"Your favorite"
,即使当前的Meteor用户ID不在数组中。
有什么想法吗?
答案 0 :(得分:0)
你可以使用
isFavorite: function() {
var user = Meteor.user()._id;
return Posts.find({favoritedBy: user}).count() > 0 ? true : false;
}
count()
将返回与find()查询匹配的文档计数,然后检查其是否为> 0
,并使用ternary operator
,如果是,则返回true
如果不是,它将返回false