2017-09-20 5 views
0

몽구스로 init hook에 약간의 문제가 있습니다. 그것은 잘 작동Moongoose pre init hook

clientSchema.pre('init', function(next, doc) { 
    doc.prop = 'something'; 
    next(); 
}); 

,하지만 난 DB에서 볼 때,이 건물은 수정 : 사용자가 데이터를 얻을 때 , 난 여기에 내 코드의 예 그에게 "포맷"값

을 반환합니다. 그러나 데이터를 직접 저장하지 않습니다 ...

어떻게 가능합니까? 당신의 도움이

답변

1

에 대한

덕분에 당신은 당신의 데이터베이스에 저장되지 않습니다 virtuals에을 찾고 될 수 있습니다.

이 같은

아마 뭔가 :

clientSchema.virtual('formattedProp').get(function() { 
    var formatted 

    // Use schema properties here to create your formatted value 

    return formatted 
}) 

당신은 다음과 같이 액세스 할 수 있습니다 : 당신은 더 많은 읽을 수 있습니다 여기에

console.log(client.formattedProp) 

: http://mongoosejs.com/docs/guide.html#virtuals

참고 : 당신도 할 수 있습니다 스키마 옵션에 다음을 추가하십시오.

var schema = new Schema(
    { 
    // Schema fields 
    }, 
    { 
    toObject: { 
     virtuals: true 
    }, 
    toJSON: { 
     virtuals: true 
    } 
    } 
)