クライアントで実行されている coffeescript にテンプレート関数があります。
Template.leftNav.starred = () ->
user = Meteor.user()
if ! user
return
else
starredPages = user.profile.starredPages
starred = Entries.find({ _id :{in: starredPages}}).fetch()
Meteor.user()
戻り値
Object {_id: "AHSwfYgeGmur9oHzu", profile: Object}
_id: "AHSwfYgeGmur9oHzu"
profile: Object
starredPages: Array[4]
0: "asdasdasdasdasd"
1: "abc123"
2: "blobby"
3: "bxSbMgszYxbCqDonF"
そしてMeteor Entries.find({})
戻ります:
Entries
Meteor.Collection {_makeNewID: function, _transform: null, _manager: Meteor._LivedataConnection, _collection: LocalCollection, _name: "entries"…}
_collection: LocalCollection
_savedOriginals: null
docs: Object
Wkxxpapm8bbiq59ig:
_id: "M3vDJNMZJjBDfrc7D"
bxSbMgszYxbCqDonF:
_id: "bxSbMgszYxbCqDonF"
テンプレート関数でコードを実行する:
starredPages = user.profile.starredPages
starred = Entries.find({ _id :{in: starredPages}}).fetch()
starred
bxSbMgszYxbCqDonF
starredPages 配列の_id
値がコレクション配列の値と一致する場合でも、空の配列として返されますEntries.docs
。
starredPages
これはなぜですか、また、配列と_id
's の間の一致を返すようにする方法は?