【发布时间】:2013-04-14 00:18:30
【问题描述】:
我在客户端运行的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()
即使 starredPages 数组中的 bxSbMgszYxbCqDonF 值与 Entries.docs 集合数组中的 _id 值匹配,starred 也会作为空白数组返回。
这是为什么以及如何使其返回 starredPages 数组和 _id 之间的匹配项?
【问题讨论】:
标签: javascript mongodb coffeescript meteor