0

我有 2 个集合(其中一个是标准集合,另一个是 CFS 集合,用于存储我上传的图像):

Products = new Mongo.Collection('products');

Uploads = new FS.Collection('uploads', {
  stores: [new FS.Store.FileSystem('uploads', {path: '~/projectUploads'})]

});

Products 集合中的某些文档具有“product_main_image”的字段或键/值对,其中存储了上传文件的文件名,该文件存储在 Uploads CFS 集合中。

在我的页面上,我设置了一个助手:

Template.admin_products.helpers({

  products: function(){
    console.log('inside helperproduct');

    return Products.find();
  }

});

在html中我有:

{{#each products}}
    {{product_name}}
    {{product_main_image}}
  {{/each}}

{{product_main_image}}但是,我想显示上传的文件,而不是显示的实际文件名,就好像我使用以下代码访问它一样:

Uploads.findOne({"original.name":product_main_image});

这个页面是我显示所有使用的产品的地方{{#each products}},我还想显示存储在 Uploads CFS 集合中的每个产品的图像。

这可能吗?我怎样才能做到这一点?谢谢...

4

1 回答 1

2

这可能吗?是的

我怎样才能做到这一点?

您可以使用this. 在Uploads.findOne()

这就是HTML的外观。

{{#each products}}
   {{product_name}}
   {{product_main_image}}
    {{#with image}}
      <img src="{{this.url}}" />
    {{/with}}
 {{/each}}

和图像助手。

Template.example.helpers({
  image:function(){
    Uploads.findOne({"original.name":this.product_main_image});
   }
})

这是一个快速的MeteorPad,展示了如何实现这一点(我使用 2 个虚拟集合,但想法是一样的)

于 2015-04-18T18:50:17.003 回答