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

home2 게시판 JavaScript, TS 게시판 firebase 채팅방 중복생성 방지를 위한 기능

firebase 채팅방 중복생성 방지를 위한 기능

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

    서준형
    참가자

    채팅방 중복생성을 방지하기위한 코드를 짜기가 어려워 문의드립니다.

    mysqldb라면 select count(*) from 테이블 where 조건문으로 해서 1또는 0으로 채팅방을 생성할지 말지를 정할 텐데

    nosql에서는 어떻게 구현해야할지 몰라 문의드립니다.

     

    그나마 구글에서 찾아본게 exists()인데 정상적이지 않은 function이라고 나오네요

    chat 콜랙션에서 hi컬럼에 배열이 user.uid가 있으면 있다 없으면 없다 나오는 코드로 테스트중인데

    문서가 있다없다. 혹은 문서의 갯수를 어떻게 도출시킬수 있을까요?

     

     

    $('#chat').click(function(){
          db.collection('chat').where('hi','array-contains',user.uid).get().then((result)=>{
            if(result.exists()){
              console.log("있다")
            }else{
              console.log("없다")
            }
          })

    #22684

    codingapple
    키 마스터

    snapshot.empty를 써보도록 합시다 

    근데 상대id 내id 둘다 동시에 포함한 document를 찾아봐야할듯요

    .where('??' , 'array-contains-any' , [1,2]); 이런 문법도 있습니다 

    #22785

    서준형
    참가자

    일단 알려주신 empty를 통해 where절에서 필드에 array아닌 데이터형은  true /false 표기는 잘동작되는것을 확인했습니다

    하지만 array-contains , array-contains-any등을 테스트 해봤을때는

    무조건 false를 떨어트리는데 혹시 이유가 있을가요? 캐시문제인줄 알고 브라우저 캐시를 지우고 창을 다시띄워 수행해도 동일합니다.

    (사진은 새탭으로 띄우면 잘보이는것같습니다.

    #22800

    codingapple
    키 마스터

    그러게요 혹시 rules가 이상한 것이 아닐까요 

    #27149

    스무디
    참가자

    이 부분 저도 헷갈려서 시간 잡아먹고 있는데 해결하셨나요?!

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 호 / 개인정보관리자 : 박종흠