• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 find함수 관련 질문입니다.

find함수 관련 질문입니다.

10 글 보임 - 1 에서 10 까지 (총 14 중에서)
  • 글쓴이
  • #20231

    곰돌이
    참가자

    선생님, 제가 db에서 특정 조건을 만족하는 데이터를 find로 뽑아 내려고 하는데 그조건이 objectid 형태고 그안의 속성을 만족하는 조건의 데이터를 뽑고 싶다면 어떻게 해야하나요?

    예를 들어 datadb의 속성중 user 이란게 있고 그 데이터 값은 objectid 인데, user이라는 db 안에 username이 'tom' 인 데이터를 Datadb에서 추출하고 싶습니다.

    router.get('/:id', function(req, res){

      Datadb.find({}, function(err, Datadb){
        if(err) return res.json(err);
        res.render('page/index', { Datadb:Datadb});
     

    });
    });

    어떻게 해야 할까요?

    #20237

    곰돌이
    참가자

    검색해보니 populate와 관련이 있는듯 한데, 적용이 잘 안되네요 ㅜㅜ 혹시라도 제 예시를 가지고 예를 들어주신다면 정말루 감사드리겠습니다!!

    #20242

    codingapple
    키 마스터

    datadb 컬렉션에서 뭐 찾은다음 그걸 기반으로 user 컬렉션에서 찾는다는 뜻인가요?

    #20246

    곰돌이
    참가자

    넵, datadb컬렉션에서 user라는 속성이 있는데 그값이 objectid입니다. 해당 객체안에 있는 username 이 TOM 인 데이터값을 찾고싶어 이걸 find안에 넣고 싶은데 어떻게 진행해야 할지 잘 모르겠네요..

    #20248

    곰돌이
    참가자

    제 머리속엔 find 안에 user.username:id 이렇게 넣고 싶은데 안되더라구요..

    #20250

    codingapple
    키 마스터

    음 이해가 잘 안가는군요 컬렉션두개 안의 데이터가 어떻게 생겼는지 사진좀 찍어주십시오

    #20253

    곰돌이
    참가자

    아래와같이 req.param을 활용하려고 user의 username을 따와서 find({uploadedBy.username:id}) 뭐 이런식으로 쿼리를 구성하려고 했었습니다 ^^; 근데 uploadedBy.username라는 문법은 없더라구요..

    #20257

    codingapple
    키 마스터

     

    1. 유저컬렉션에서 username : test2인걸 가져와주세요 

      2. 가져온 것 중에 _id를 가져와서 변수에 저장해주세요 

      3. 영상컬렉션에서 uploadedBy : 변수인 게시물을 다 가져와주세요

         4. 성공하면 유저에게 보내주세요

    라고 코드짜면될듯요

    #20262

    곰돌이
    참가자

    오 그렇게 해도 되겠네요! 감사합니다. populate를 써서 뭐 하려니 머리가 아프더라구요 ㅜ 이런경우 populate를 많이 사용하진 않나요?

    #20266

    codingapple
    키 마스터

    mongoose쓰면 .populate()만 쓰면 되는데 그래도될듯요 

10 글 보임 - 1 에서 10 까지 (총 14 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠