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

home2 게시판 JavaScript, TS 게시판 firebase 채팅방 만들기 응용 질문!

firebase 채팅방 만들기 응용 질문!

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

    스무디
    참가자

    제가 채팅방 중복을 막으려고 코드를 짜고 있는데 문제가 발생했습니다! 

    내uid, 상대방uid가 포함된 게시물을 막으려고 

    .where('who', 'array-contains-any', ['내id', '상대방id']) 이렇게 하면 or가 되어서 둘 중에 하나만 있어도 반환하는데요,, 저는 저 두 개가 둘 다 있는 값을 반환받아서 detail부분에 if문으로 때려박으려했습니다..

     

    여기서 첫번째 질문! 은 이렇게 하는게 맞나요? 아니면 다른 방법이 있나요? true/false나 숫자놀이해서 조정하는 것도 해봤는데 안되더라고요 ㅠㅠㅠ array-contains나array-contains-any은   where절 중첩도 안되니까 둘 다 포함하는 값을 반환하는게 안됩니다..ㅠㅠㅠㅠㅠㅠ 도와주세요!!

    #27264

    codingapple
    키 마스터

    .where('who', 'in', 어쩌구) 쓰면 될듯요

    array안의 데이터 순서까지 맞아야해서 미리 정렬해서 넣는 것도 좋아보입니다

    #27465

    스무디
    참가자

    그러면 정렬하기 위해서는 내id와 상대방id를 구분하기위해 영상에서처럼 true false값을 넣어놓고  내 id인 true값들을 다 앞으로 정렬한 다음에  where('who', 'in', ['내id', '상대방id'])  이러면 되는거 맞죠?! 한번 해보겠습니다!

     

    아 그리고 또 질문이 있는데요! 게시글에 좋아요 버튼을 만드려고 하는데 유저마다 한번밖에 못누르게 해야하니까 true /false로 짜야하나요? 나중에 좋아요 많이 받은 사람 랭킹을 만들고 싶은 큰그림이 있습니다!!

    #27495

    codingapple
    키 마스터

    id 2개를 그냥 부등호로 비교해서 더 작은걸 앞에 적거나 그래두면 됩니다 

    게시글마다 좋아요 누른 사람 id들을 기록해놔야합니다 

    좋아요누른사람 : [id1, id2 ...] 이렇게 기록해도 될듯요 

    #31589

    스무디
    참가자

    버튼을 누를때마다 좋아요누른사람 배열필드에 추가하려고하는데 추가하려는 함수가 잘 안먹히고 있습니다 ㅠㅠ arrayunion말고 다른 방법이 또 있을까요..?

    #31602

    codingapple
    키 마스터

    arrayunion 쓰면 됩니다 그거 아니면 array를 가져와서 프론트엔드에서 수정하고 다시 입력하는 법 밖에는 없을걸요 

     

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

About

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

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

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