2017-06-14 16 views
0

私のMongoDBは、このようになりますMongoDBの流星からデータを抽出します。パス変数は

後私のコードである:

Template.showDoubts.onCreated(関数(){

this.uid = null; 
this.uid = UserDetails.findOne({userId : Meteor.userId()}); 
this.count = 0; 
this.cname = this.uid.channelsSubscribed[Session.get('doubtIndex')] 

})。

IsnoDoubtsFollowed : function(){ 
    var flag = false; 
    _.each(_.keys(Template.instance().uid.doubtThreadFollowed), function(key){ 
     console.log('key : ' + key); 
     if(key == Template.instance().cname){ 
      console.log('values : ' + Template.instance().uid.doubtThreadFollowed.key); 
      flag = true; 
     } 
    }); 

基本的に私はTemplate.instanceを(取得する)。キーは変数名ですuid.doubtThreadFollowed.key。オブジェクトのキーを変数として渡すことはできませんか?

言語が明確でない場合はお詫び申し上げます。

+0

)uid.doubtThreadFollowed.Session.get( 'CNAME')とTemplate.instance()uid.doubtThreadFollowed.Template.instance(。。 ).cnameでもエラーは持続します。最初のシナリオでは、未定義のプロパティ 'get'を読み取ることはできません。 2番目のシナリオでは、不確定のプロパティインスタンスを読み取ることができないと言います – user3807691

+0

私はアンダースコアの_.keys関数を使用してキー値を取得できます。私の質問は、その値をTemplate.instance().uid.doubtThreadFollowed.keyに渡す方法です(未定義のキーは静的なフィールドではなく変数です) – user3807691

+0

uidプロパティを設定するコードを含めてくださいテンプレートインスタンス –

答えて

0

このコードの主な目的は何かわかりませんが、変数の値をキーとしてオブジェクトのプロパティを取得するには、かっこを使用します。例えばsomeObject[variable]。次に、あなたのコードは次のようになります。私もTemplate.instanceを(渡してみました

IsnoDoubtsFollowed : function(){ 
    let flag = false; 
    const doubtThreadFollowed = Template.instance().uid.doubtThreadFollowed; 
    Object.keys(doubtThreadFollowed).forEach(function(key) { 
     console.log('key : ' + key); 
     if(key === Template.instance().cname) { 
      console.log('values: ', doubtThreadFollowed[key]); 
      flag = true; 
     } 
    }); 
}); 
+0

ありがとう!今すぐ働きます – user3807691