2016-08-05 13 views
0

私はこのコレクションをユーザコレクションの中に持っています。流星js繰り返しmongodbカーソル

user: _id: "****", 
     username: "username", 
     { profile: 
       "name", "name", 
       "members": [ 
         {"name": "name1", "level":"level1"}, 
         {"name": "name2", "level":"level2"}, 
         {"name": "name3", "level":"level3"} 
          ] 
     } 

メンバー配列をjavascrit配列内に配置する方法がわかりません。 私はこの形式で配列を取得したい:

私が試したものだ
  [{"name": "name1", "level":"level1"}, 
      {"name": "name2","level":"level2"}, 
      {"name": "name3", "level":"level3"} 
     ] 

Template.mytemplate.helpers({ 
members : function(doc){ 
    var members = []; 
    var result= []; 
    members = Users.find({"_id": Meteor.userId()}, 
         {fields :{"profile.memebers": 1 } }); 
    members.forEach(function(doc) 
    { 
     result.push({"name": "doc.members.name", "level": doc.member.level}); 
    }); 
    return result; 
}); 

答えて

1

ユーザー:

_id: "****", 
     username: "username", 
     { 
     profile: { 
       "members": {"name": "name1", "level":"level1"} 
        } 
    } 

を私はこれがあなたの内側の右の構造であるべきだと思いますコレクション。

Template.mytemplate.helpers({ 
members : function(){ 
    var members = []; 
    var result= []; 
    members = Users.find({"_id": Meteor.userId()}, 
         {fields :{"profile.members": 1 } }); 
    members.forEach(function(doc) 
    { 
     result.push({name: doc.profile.members.name, level: doc.profile.members.level}); 
    }); 
    return result; 
}); 

そしてこれは、ヘルパー

<template name="mytemplate"> 
<h2>User List</h2> 
{{#each members}} 
<ul> 
<li>{{name}}</li> 
<li>{{level}}</li> 
</ul> 
{{/each}} 
</template> 
です
関連する問題