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

home2 게시판 JavaScript, TS 게시판 파이어베이스 DB숫자 게시물 번호는 어떻게, 시간은 어떻게

파이어베이스 DB숫자 게시물 번호는 어떻게, 시간은 어떻게

  • 이 주제에는 4개 답변, 2명 참여가 있으며 hcjplj3 년, 1 월 전에 전에 마지막으로 업데이트했습니다.
5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 글쓴이
  • #34311

    hcjplj
    참가자

    질문1

    파이어베이스는 불러올 때 저장된 순서대로가 아니라 랜덤으로 불려와지는데

    게시판을 만들면서 1~10 번 불러오게끔 하고싶습니다.
    일차적으로 생각한건  var 저장할꺼 = 번호 :1

    이렇게 넣고 나중에 번호만 불러와서 +1한다고 생각하고 만들어보고 있는데

    저장형식을 number으로 해서 그냥 넣었더니 NaN

    결과.forEach((doc) =>{
          게시물번호 = doc.data().번호;
           게시물번호 =  parseInt(게시물번호)+1;

     

    질문2

    시간형식을 변경해서 22-05-11  17:03:00이렇게 표시했는데 시간비교가 제대로 안되는데

    시간 비교는  new Date()로 저장하고 나중에 불러와서 형식을 바꿔야 하는 걸까요?

    desc로 정렬하려고 했더니 날짜는 맞는거 같은데 시간은 틀어지는 거 같아서요.

     

    뭐가 틀린건지 아직 감을 못잡고 있습니다.  감사합니다.

    #34340

    codingapple
    키 마스터

    번호말고 날짜순으로 하면 됩니다 

    db.collection("어쩌구").orderBy("시간").limit(10);

    이러면 날짜순으로 10개먼저 가져와줍니다

    날짜는 출력시엔 자바스크립트이용해서 원하는 형식으로 바꿔야합니다

    #34358

    hcjplj
    참가자

    10개씩 한 페이지를 만든다고 했을 때

    그럼 2페이지 에서는 어떻게 불러오는 건가요?

     

    그냥 시간 순으로는 안될꺼 같아서 강제로 숫자를 같이 입력해놓고

    번호 = 번호-10

    db를 불러오면서 where ("번호", ">",  10) 이렇게 생각을 했었거든요.

    아니면 startAt() 또는 startAfter() 이런것도 보이길래 이런걸로 해야하나..

    그리고 숫자 입력은 기존코드에서 별도로 해야 하는 작업이 있나요?

    어떤 문서를 봐야하는지 잘 모르겠어요.

    공식문서는 읽고 있는데..이해가 잘 안가네요.

    #34373

    codingapple
    키 마스터

    1번부터 10번 불러왔으면

    .orderBy("시간").startAfter(마지막10번게시물).limit(10);

    이러면 11번부터 20번 나온다고하는군요 

    #34497

    hcjplj
    참가자

    감사합니다. 역시 실제로 만들어보면 생각지 못한 부분들이 계속 생기는 군요. 재미있군요.

     역시 시간 순으로 잡는게 제일 편한것 같은데, set으로 수정하면서 시간을 그냥 새로운 시간을 잡았더니

    맨 위로 올라가서 다른 곳은 어떤식으로 하는 가 봤더니 작성시간, 갱신시간을 별도로 저장하는 것으로 처리하는 걸 알았습니다.

    그리고 new Date()로 파이어베이스에 저장된 시간은 타임스탬프라고 해서 그냥 자바스크립트 시간과는 조금다르고

    var d = doc.data().시간.toDate();

    toDate()라는 함수가 있어서 그걸로 뽑아내서 다시 자바스크립트 시간처리를 해야 합니다.

    var time = d.getFullYear() + "년 " + (d.getMonth()+1) + "월 " + d.getDate() + "일 ";

    혹시 나중에 이 글을 보실 분들을 위해서 제가 한 방법을 적어봅니다.

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

About

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

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

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