2016-04-05 5 views
0

Я пишу эту коллекцию:Meteor: Получение изображений в коллекции

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"}} 

данных написано, но я не найти способ, чтобы показать изображение, связанное с каждым документом в коллекции ...... У меня есть только идентификатор (в FILEID) и не найти способ опубликовать правильно изображение с конкретными документами, на которые он ссылается ...

+0

Есть ли у вас проверить CollectionFS [Документация] (https://github.com/CollectionFS/Meteor-CollectionFS# дисплей-ан-закачано-изображение)? –

+0

Да, но я думаю, что проблема больше связана с mongodb и отношениями - я не знаю хорошо NoSQL ..... с MySQL я делаю присоединение и беру то, что мне нужно .... –

+0

Тогда вы могли бы поделиться паб sub код, который вы написали, чтобы отправить данные клиенту? Может быть, там что-то не так. –

ответ

0

Похоже, что ваш комплект GiftCards содержит ссылку на один внешний ключ для коллекции Images как fileId. Это фактически так же, как SQL в том смысле, что первичный ключ коллекции Images используется в качестве внешнего ключа в GiftCards.

Теперь вы хотите отобразить подарочную карту и связанное с ней одно изображение.

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

Тогда вам нужен помощник, чтобы вернуть URL изображения:

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 
    } 
}); 
+0

Хорошо, но если я хочу иметь ВСЕ список подарков, используя {{# подарочные карты}}}? –

+0

'{{#each giftCards}} {{> showOneGiftCard}} {{/ each}}', тогда просто создайте помощник 'giftCards', который возвращает' GiftCards.find() ' –

+0

ОК, но с let img = Images. findOne (this.fileId); // 'this' - это контекст данных одной GiftCard, который дает «SyntaxError: Неожиданный идентификатор« img »и не дает:« Не удалось загрузить ресурс: » –

 Смежные вопросы

  • Нет связанных вопросов^_^