2014-06-08 3 views
1

내 앱이 자동 게시 기능을 사용하도록 설정했습니다.유성 사용자 만들기 및 이메일 작성

등록 된 사용자, 이메일 및 작성 시점의 목록을 보여주는 페이지를 만들고 싶습니다. 그래서 저는 Meteor.users 컬렉션에서 그리드를 만듭니다. 난 단지 사용자 이름을 얻을 수 있었다 그러나

나는이

{{#each users}} 
<ol> 
    <li> 
     {{username}} 
    </li> 
    <li> 
     {{emails[0].address}} 
    </li> 
    <li> 
     {{createdAt}} 
    </li> 
</ol> 
{{/each}} 

같은 정보를 분석. 전자 메일은 [Object object]을 그리드에 반환하고 createdAt는 비어있게 반환합니다.

어떻게이 두 필드를 올바르게 구문 분석 할 수 있습니까?

답변

2

먼저 사용자의 데이터를 게시해야합니다. 자동 게시는이 작업을 수행하지만 필드를 제한합니다.

아래와 같이 사용자에게 데이터를 게시하면 fields 옵션을 사용하여 클라이언트에게 표시 할 필드를 명시 적으로 정의 할 수 있습니다. 자동 게시를 사용하면이 필드는 대개 사용자 이름과 프로필입니다.

서버 측

Meteor.publish("users", function() { 
    return Meteor.users.find({}, {fields:{createdAt: true, profile: true, emails: true, username: true}}); 
}); 

클라이언트 측

Meteor.subscribe("users"); 

그럼 당신은 .createdAt 및 이메일을 너무 볼 수 있어야합니다. 이메일의 경우

당신은 자바 스크립트

+0

당신이 '사용자'에서 'userData에'를 변경하십시오 할 것 좋아 핸들 바/Spacebars에서 작동하지 않습니다 []{{emails.[0].address}}을 사용해야합니다? 또한'{{emails.0.address}} '를 시도했지만 서버 콘솔에 오류 => 오류로 인해 시작되지 않음 : 응용 프로그램을 빌드하는 중 : 클라이언트 \ views \ user \ user.html : 76 : 예상 IDENTIFIER ... {{emails.0.address}} ... ^ => 애플리케이션에 오류가 있습니다. 파일 변경 대기 중. ' –

+0

설명해 주시겠습니까? –

+0

@HaikalNashuha 미안 해요. 내 대답에 실수했습니다. 지금은 업데이트했습니다. – Akshat