【发布时间】:2013-10-15 21:20:15
【问题描述】:
我的最终目标是在模板登录后通过{{currentUser}} 将CUSTOM_FIELD_I_FREAKEN_WANT_TO_PUBLISH 提供给模板,但Meteor 不会发送用户集合中的所有字段。
在服务器中:
Meteor.publish('userdata', function() {
this.ready(); // do I really even need to do this?
//return Meteor.users.find(); //This STILL doesn't work
return Meteor.users.findOne({_id: this.userId});
});
在客户端:
var s = Meteor.subscribe('userdata', function() {
console.log('userdata available');
console.log('s.ready: '+s.ready())
});
console.log('s.ready: '+s.ready())
我可以通过直接连接到 mongo 实例并输入:db.users.find():
{
"_id" : "N2M7Zp265vkbTBTFF",
"createdAt" : ISODate("2013-10-15T03:29:53.155Z"),
"CUSTOM_FIELD_I_FREAKEN_WANT_TO_PUBLISH" : "P4GRrQMixEZducmuo",
"profile" : {
"name" : "Jonathan Dumaine",
...,
},
"services" : {
"facebook" : {
....,
}
}
}
在客户端验证订阅准备就绪后,用户集合上的唯一字段是_id 和_profile。附加字段在客户端中不可见(通过控制台Meteor.users.find().fetch()),在通过模板访问时也未定义。
这是一个错误吗?我做错了吗?
【问题讨论】:
标签: javascript meteor