从模板助手 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}
});
我正在尝试在 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}
});