[英]Check if value exists in a mongodb array
如何檢查當前的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}}
但是它似乎不起作用,因為即使當前的Meteor用戶ID不在數組中,它也始終返回"Your favorite"
。
有任何想法嗎?
您可以使用
isFavorite: function() {
var user = Meteor.user()._id;
return Posts.find({favoritedBy: user}).count() > 0 ? true : false;
}
count()
將返回與find()查詢匹配的文檔計數,然后檢查其是否> 0
,並使用ternary operator
,如果是,則返回true
,否則返回false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.