으로 배열 필드에서 특정 개체를 얻는 방법 : 사용자와 비영리의 ID이 같은 스키마를 감안할 때 몽구스
UserSchema = new Schema({
name: String,
donations: [
{
amount: Number,
charity: {
type: Schema.Types.ObjectId,
ref: 'charity'
}
}
]
});
나는 (문자열)을하고 난 금액을 취득 할 사용자가 기증했다. 임 lodash로이 쿼리를 사용하여 : 여기
User.findOne({
_id: userId
}, function(err, user) {
var amount = _.find(user.donations, {charity: charityId});
console.log("the amount is: ", amount);
});
양이 그것은 또한 내가 lodash
를 사용할 필요가 없습니다 추측 메신저 안해도 undefined를 반환합니다. 특정 금액 인 userId
과 charityId
을 기증받은 금액을 얻는 올바른 방법은 무엇입니까? 이 작업을 수행 할 수
및 자선 객체 아마 때문에 작업을 나던 그리고 문자열 ID를 검색하는 메신저 – wemadeit
좋아, 나는 당신이'_.find'에'user.shares'를 넘겨주고 있기 때문에 당신이 뭘 하려는지 확실하지 않지만'shares'는 스키마에 나타나지 않습니다 . 그게'user.donations'일까요? – JohnnyHK
그래서 참조 된 질문이 도움이되지 않습니까? 요점은 노드 클라이언트 코드를 필터링하는 대신 MongoDB 서버에서이를 처리 할 수 있다는 것입니다. –