使用帮助程序修改记录

时间:2015-02-07 19:48:05

标签: meteor

是否可以使用助手修改记录?

示例:(_ id:" CbQvD52iEFXnFML3d",名称:" somename",年龄:" 20",视频:" stack.com/link的.mp4&#34)。 我想修改发送到模板之前找到的所有记录。

Records= new Meteor.Collection('records');

Template.test.helpers({
  record: function() {
    var info = Records.find({age:"20"});
    //modify all records found from "stack.com/link.mp4" to "stack.com/link.jpg"
    return collection with modified records
  }
});
<template name="test">
  {{#each record}}
    {{name}}
    <img src="{{video}}">
  {{/each}}
</template>

谢谢!

2 个答案:

答案 0 :(得分:1)

是。您可以将转换应用于特定find或整个collection。在此示例中,我们仅将转换添加到find帮助程序中使用的record

var transform = function(doc) {
  doc.video.replace(/mp4$/, 'jpg');
  return doc;
};

Template.test.helpers({
  record: function() {
    return Records.find({age: '20'}, {transform: transform});
  }
});

答案 1 :(得分:0)

var recordsArray = Records.find({age:"20"}).fetch();
recordArray.forEach( function (entry) {
 entry.video = "stack.com/link.jpg";
}

return recordsArray;

*请注意,这不会更新集合video。它只会更改数组的video;