2
如何檢查當前Meteor.user()._id
是否存在於"favoritedBy"
數組中?檢查mongodb數組中是否存在值
如果爲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"
,即使當前流星的用戶ID不在陣列中。
任何想法?
你的實現總是返回''你最喜歡的'''是因爲'isFavorite'方法總是返回一個遊標。該遊標不會立即訪問數據庫或返回文檔,除非如果您立即調用'fetch()'方法,該方法將返回所有匹配的文檔作爲Array或返回與查詢匹配的文檔數的'count()'方法。 – chridam