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

home2 게시판 Node.js, Express 게시판 파이어베이스, pagination기능 구현문제

파이어베이스, pagination기능 구현문제

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #45677

    최요환
    참가자
    자바스크립트-파이어베이스관련질문입니다
    
    강의를 듣고
    게시판기능을 만들어보고 있는데요.
    
    게시물이 많아지면 화면에 해당게시물
    20개씩만 보여주고 싶습니다.
    
    pagination 기능을 만들어야 할 것 같은데요.
    
    아래 두 가지중에서 어느 것으로 해야하는 건지 궁금합니다.
    
    첫번째방법)
    파이어베이스 doc문서(1개의폴더)에 저장된 것을 모두 불러와서
    클릭한 페이지번호에 따라 
    자바스크립트로 20개씩만 보여주도록 하는 것이 맞는건지
    
    두번째방법)
    아니면 애초에 HTML에서 페이지번호를 누르면
    서버(파이어베이스)에서 20개씩만 불러와서
    HTML을 보여주게
    구현해야 하는 건지 궁금합니다.
    
    
    두가지 방법에 따른
    데이터사용량이나 과금같은 차이점이 있는지 궁금하고요
    그밖에 다른 차이점도 있는지 궁금합니다.
    
    
    혹시 과금에 차이가 있어
    두번째 방법으로 하는 것이 유리하다면 
    구체적으로 어떤 방향으로 해야하는 건지 가이드라인 
    부탁드립니다.
    (일부만 불러오도록 하는 방법이
      1. doc문서 하위에 별도의 collection 을 두어서 그 하위 doc(20개씩)으로 저장시켜야하는건지
    
      2. doc문서 하나에 게시물db 몰아넣고 (ex. 오브젝트내 게시물번호에 따라) 일부만 불러들이는 방식이 가능할는지요
      이게 맞다면 코드는 어떻게 작성해야 하나요?
    )
    
    
    #45688

    codingapple
    키 마스터
    db.collection('cities').limit(10)
    이러면 맨 앞의 10개만 가져올 수 있습니다 다음 10개는 startAt(10).limit(10) 쓰면 됩니다 
    https://firebase.google.com/docs/firestore/query-data/query-cursors
    
    #45810

    최요환
    참가자
    감사합니다.
    db.collection('board').orderBy('번호','desc').startAt(startNumber).limit(5).get().then((결과) => ...
    
    startAt의 괄호 부분에 숫자를 넣으면 잘되는데,
    
    다음페이지를 보여주기위해 (lastNumber는 서버에 마지막게시물번호로 잘가져오는것확인함)
    var startNumber = lastNumber - 5 * ( parseInt(쿼리스트링.get('page')) -1 )
    startNumber 이라는 변수를 넣으면  
    웹페이지와 쿼리스트링이 바뀌어도 목록변화는 일어나지 않습니다.
    db에서 계속 처음5개만 보여줍니다.
    
    무엇이 문제일까요?
     
    #45829

    codingapple
    키 마스터
    lastNumber 아니면 쿼리스트링.get('page') 이거 둘 중 하나가 이상한가봅니다 출력해봅시다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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