【问题标题】:Meteor Getting Users CreatedAt and EmailsMeteor 获取用户创建时间和电子邮件
【发布时间】:2014-06-14 16:20:29
【问题描述】:

我的应用已开启自动发布功能。

我想创建一个显示注册用户列表、他们的电子邮件以及创建时间的页面。所以我从 Meteor.users 集合中构建了网格。

我是这样解析信息的

{{#each users}}
<ol>
   <li>
      {{username}}
   </li>
   <li> 
      {{emails[0].address}}
   </li>
   <li> 
      {{createdAt}}
   </li>
 </ol>
{{/each}}

但是我设法只获得了用户名。电子邮件在网格中返回[Object object],createdAt 返回空。

如何正确解析这两个字段?

【问题讨论】:

    标签: javascript meteor


    【解决方案1】:

    首先,您需要自己发布用户数据。 autopublish 会这样做,但它会限制字段。

    通过以下方式将数据发布给自己,您可以使用fields 选项明确定义您希望客户看到的字段。使用自动发布,这些字段通常只是用户名和个人资料。

    服务器端

    Meteor.publish("users", function() {
        return Meteor.users.find({}, {fields:{createdAt: true, profile: true, emails: true, username: true}});
    });
    

    客户端

    Meteor.subscribe("users");
    

    那么你应该可以看到.createdAt 和邮件了。

    对于您的电子邮件,您需要使用 {{emails.[0].address}},因为 [] 在空格键/Handlebars 中不起作用,就像在 javascript 中一样

    【讨论】:

    • 你能把'users'改成'userData'吗?另外,我尝试了{{emails.0.address}},但服务器控制台显示错误=&gt; Errors prevented startup: While building the application: client\views\user\user.html:76: Expected IDENTIFIER ... {{emails.0.address}} ... ^ =&gt; Your application has errors. Waiting for file change.
    • 你能解释一下吗?
    • @HaikalNashuha 抱歉,我的回答有误,我现在已经更新了
    • 阿克沙特,非常感谢!你的回答终于让我得到了我需要的东西。 :)
    猜你喜欢
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 2013-01-18
    相关资源
    最近更新 更多