2017-06-25 13 views
1
  1. ユーザーは登録しており、すべてのデータは "users"(流星ユーザーアカウント)のコレクションにあります。
  2. プロファイルページで、ユーザーはプロフィール画像(流星ファイル)をアップロードできます。画像メタデータはコレクション '画像'に登録されます。

誰もがプロファイルを参照することができますが、表示される各カードのプロファイル画像のsrcリンクを動的に変更する必要があることを除いて、非常にうまく動作します。私が必要とする情報が別のコレクションに入っているとき、どうすればいいのか分かりません。IDに基づいてプロフィール画像を表示

画像コレクション:

{ 
    "_id" : "LT6aCTFkbRn6AAKBg", 
    "size" : 1467914, 
    "type" : "image/jpeg", 
    "name" : "profil.jpg", 
    "meta" : {}, 
    "ext" : "jpg", 
    "extension" : "jpg", 
    "extensionWithDot" : ".jpg", 
    "mime" : "image/jpeg", 
    "mime-type" : "image/jpeg", 
    "userId" : "3JAt887HkSooRRPk2", 
    "path" : "assets\\app\\uploads\\images\\LT6aCTFkbRn6AAKBg.jpg", 
    "versions" : { 
     "original" : { 
      "path" : "assets\\app\\uploads\\images\\LT6aCTFkbRn6AAKBg.jpg", 
      "size" : 1467914, 
      "type" : "image/jpeg", 
      "extension" : "jpg" 
     } 
    }, 
    "_downloadRoute" : "/cdn/storage", 
    "_collectionName" : "images", 
    "isVideo" : false, 
    "isAudio" : false, 
    "isImage" : true, 
    "isText" : false, 
    "isJSON" : false, 
    "isPDF" : false, 
    "_storagePath" : "assets\\app\\uploads\\images", 
    "public" : false 
} 

_id(LT6aCTFkbRn6AAKBg)のuserIdではありません。

Template.profileDetails.helpers({ 
    user: function() { 
    return Meteor.users.find(); 
    }, 

    PSEUDO: 
    imageLinkForThisUser: function() { 
    return Images.find('document in collection which has same userId key in it and return path'); 
    }, 

ありがとうございます!彼がログインしている場合

答えて

1

Meteor.userId()は、ユーザーの現在の_idを返します

をだからあなたのmongoクエリは次のようになります。

Images.findOne({userId: Meteor.userId()})['path']; 

あなたは(私は仮定)としてfindOneを使用する代わりに見つけることができますユーザーごとに1つのイメージしか保存されません。

あなたヘルパー機能は次のようになります。

Template.profileDetails.helpers({ 
    ... 
    imageLinkForThisUser: function() { 
    return Images.findOne({userId: Meteor.userId()})['path']; 
    }, 
    ... 
}); 

HTML:

<img src={{imageLinkForThisUser}} /> 

側先端:あなたはユーザーID /ユーザーを返すヘルパーを持っている必要はありませんデータ。ハンドルバーを直接使用してそのハンドルを取得することもできます。 this答え

+0

でその上

Eg. {{currentUser.username}} 

より回答をいただき、ありがとうございます。私は探している価値がありますが、このユーザーのためだけです。私のHTMLテンプレートには{{#each user}}があります。だから私は、各カードのユーザーを表示するための画像リンクを取得する必要があります。 – user3323307

+0

imageLink:function(){ 返信Images.findOne({userId:this._id})['_ id']; } これは私が探していたものです。私はこれを忘れました{{#each user}}。ありがとうございました! – user3323307

関連する問題