Meteor:检索集合中的图像

时间:2016-04-05 14:37:34

标签: meteor collectionfs

我写信给这个系列:

GiftCards = new Mongo.Collection('giftcards');

GiftCards.attachSchema(new SimpleSchema({
    cardType: {
        type: String
    },
    cardValue: {
        type: Number,
        defaultValue: 100
    },
    fileId: {
        type: String,
        autoform: {
            afFieldInput: {
                type: "fileUpload",
                collection: "Images"
            }
        }
    }
}));

Images = new FS.Collection("images", {
    stores: [new FS.Store.FileSystem("images", {path: "public/uploads"})]
});

使用AutoForm制作的表单。

 {{> quickForm collection="GiftCards" id="giftCardsForm" type="insert"}}

数据是写的,但是我找不到显示与集合中每个文档相关联的图像的方法......我只有id(在fileId中)并且找不到使用特定文档正确发布图像的方式......

1 个答案:

答案 0 :(得分:0)

您的GiftCards集合似乎包含对Images集合的单个外键引用fileId。这实际上就像SQL一样,Images集合的主键在GiftCards中用作外键。

现在您要显示礼品卡及其相关的单个图像。

<template name="showOneGiftCard">
  Type: {{type}}, value: {{value}} <img src={{url}}/>
</template>

然后你需要一个助手来返回图像的网址:

Template.showOneGiftCard.helpers({
  url: function(){
    var img = Images.findOne(this.fileId); // 'this' is the data context of one GiftCard
    return img && img.url(); // will return undefined if there's no attached image
  }
});