从模板助手 meteor / mongodb 访问 minimongo

Accessing minimongo from template helper meteor / mongodb

我正在尝试在 html 页面中访问我在 Minimongo 中的产品集合。当我在我的浏览器控制台中时,我可以输入 Products.findOne();,它会 return 一个产品。

但是,当我尝试 return 来自我的模板助手的产品时,我得到了未定义的信息。有人有想法吗?

Template.Tires.onRendered(function() {
 console.log(Products.findOne());
 //after I return a product item, I need to modify its properties manually after it has loaded into the client 

});

简单回答: 在辅助函数中对 collection 做任何你需要做的修改,然后 return 一个 JS object。例如,如果您 collection 看起来像这样:

SomeColleciton
  _id
    type: String
  birthday:
    type: Date
  firstname:
    type: String
  lastname:
    type: String
  timezone:
    type: Integer

您可以通过以下方式对其进行改造

Template.Tires.helpers({
  user: function(userId) {
    var u = SomeCollection.findOne(userId);
    var age = calcAge(u.birthday);
    var ifworkinghour = calcifworkinghour(u.timezone);
    return {name: u.firstname + ' ' + u.lastname, age: age, workinghour: ifworkinghour}

});