0

dburles:collection-helpers パッケージを使用すると、任意の Mongo.collection にコレクション ヘルパーを追加できます。しかし、FS.Collection ではそれができません。TypeError: Object [object Object] has no method 'helpers' が表示されます。変換機能も動作しません。

var createUploader = function(fileObj, readStream, writeStream) {
    fileObj.uploadedBy = Meteor.users.find({_id: fileObj.uploader});
    readStream.pipe(writeStream);
};
Photos = new FS.Collection("photos", {
    stores: [
        new FS.Store.GridFS("photos", {transformWrite: createUploader})
    ],
    filter: {
        allow: {
            contentTypes: ['image/*']
        }
    }
});

これができない?クライアントから写真が挿入されると、FS.Fileが取得されることに注意してくださいuserIdfileObj.uploadedBy = Meteor.users.find({_id: fileObj.uploader});

4

2 に答える 2

0

わかりました、これは私が探していたそれほど簡単ではない解決策ではないことを知っています. publish-composite パッケージを使用しているため。ユーザーのデータ(プロフィール欄のみ)を写真付きで公開できます。クライアントでは、次のようなテンプレート ヘルパーを実行できます。

Template.photo.helpers({
    photoUploader: function() {
        var currentPhoto = Photos.findOne();
        var user = Meteor.users.findOne({_id: currentPhoto.uploader});
        return user.profile.name;
    },
});

<template name="photos">
    {{#each photos}}
      {{> photo}}
    {{/each}}
    ...

それから

<template name="photo">
  {{photoUploader}}
  ...
于 2015-11-02T07:15:01.390 に答える