2012-04-21 3 views
0

나는 정의 몽구스가 작동하지 않습니다 옥-LANG

PersonModel.findOne(function(err, person) { 
    console.log(person.avatarUrl); // http://example.com/avatar/1 
}); 

하지만 옥 템플릿

, 내가 사용하는 경우 :

img(src!= person.avatarUrl) 

이것은 내가 예상 한 것을 제공하지 않습니다.

옥에서 몽구스 가상 작품을 만들 수있는 방법이 있습니까?

편집

내가 잘 작동 내가 "가상"에, 세션에 모든 것을 저장하기 전에 내가 세션에서 "사람"개체를 저장 사촌 문제가 옥에
할 일이 아니라고 생각 ,하지만 세션에서 다시 얻을 때 작동하지 않습니다.
세션 메커니즘에 관한 내용 일 수 있습니다.

+0

대체 구문을 사용해 보셨습니까? '# {person.avatarUrl} '? – mindandmedia

+0

나는 그것을 시도했지만 여전히 작동하지 않습니다. – Kevin

+0

Google과 공유 할 수있는 오류 메시지가 있습니까? 그리고 완성을위한 렌더링 호출 ... – mindandmedia

답변

2

당신이 사용하고있는 '세션 메커니즘'이 무엇인지 확실하지 않지만, 무엇보다 connect-redis과 같은 내용을 저장하려면 먼저 JSON.stringify(req.session)을 호출하십시오. 이것은 몽구스 문서를 getters/setters/virtuals 또는 다른 동적 능력이없는 정적 자바 스크립트 객체로 변환합니다. 세션에 저장된 가상의 현재 값을 정적 값으로 사용하려면 req.session.person = doc.toJSON({ virtuals: true })을 호출 할 수 있습니다.

다른 옵션은 세션에서 반환 된 후 세션 사람을 MongooseDocument로 수정하는 것입니다.

// assume the session has been retrieved already 
var person = new Person; 
person.init(req.session.person); 
req.session.person = person; 
console.log(req.session.person.someVirtual); // yay! 
관련 문제