2017-09-06 2 views
0

내 req.user === foundListing.uid 인 사용자에게만 고유 한 데이터를 가져 오려고합니다. 이러한 객체 만 표시하도록이 기능을 조정하려면 어떻게해야합니까?몽구스를 사용하여 함수에서 개체를 필터링하는 방법은 무엇입니까?

function show(req, res) { 
    db.User.findById(req.user, function (err, user) { 
    console.log(req.user) 
    if (err) {console.log(err);} 
    db.Listing.findById(req.params.listingId, function(err, foundListing) { 
     console.log(foundListing.uid); 
     if(err) { console.log('listingsController.show error', err); } 
     res.json(foundListing); 
    }); 
    }) 
} 
+1

왜 '사용자'를 먼저 선택하고 그 후에 '목록'을 선택합니까? 'listing'이'user'와 관련된 경우 하나의 요청만을 생성 할 수 있습니다. 그렇지 않으면이 선택은 불필요합니다. – alexmac

답변

1

find()을 사용하십시오. 직접 req.user를 사용할 수 있는지

function show(req, res) { 
    db.User.findById(req.user, function (err, user) { 
    console.log(req.user) 
    if (err) {console.log(err);} 
    db.Listing.find({ uid: req.user }, function(err, listings) { 
     console.log(listings); 
     if(err) { console.log('listingsController.show error', err); } 
     res.json(listings); 
    }); 
    }) 
} 

모르겠어요. 일반적으로 req.user._id을 사용합니다.

+0

@Kenneth Vo – turmuka

+0

예 가능합니다. 예. 감사! 왜 내가 올바르게 생각하지 않았는지 모르겠다. ... – Kenzo

+0

@KennethVo 그냥'req.user'와도 잘 작동 했나요? (나는'req.user'가 객체이고 ID가 아니라고 가정하고있다.) – Mikey

관련 문제