참가자의 현재 상태에 따라 채팅을 쿼리하는 방법
문제 설명:
Firebase 제공 여러 참가자와의 채팅 대화를 나타내는 데이터베이스 구조에서 다음을 포함하는 채팅을 효율적으로 쿼리할 수 있는 방법은 무엇입니까? 특정 참가자인가요?
현재 쿼리(작동하지 않음):
return this.af.database.list('chats', { query: { orderByChild: 'participants', equalTo: username, // How to check if participants contain username } });
현재 쿼리 관련 문제:
권장 해결 방법: 색인 반전
쿼리를 최적화하려면 데이터를 평면화하고 당겨서 인덱스 구조를 반전하는 것이 좋습니다. 채팅방 관계를 사용자 수준으로 올립니다. 여기에는 다음이 포함됩니다.
수정된 데이터 구조:
userChatrooms: { john: { chatRoom1: true, chatRoom2: true }, puf: { chatRoom1: true, chatRoom3: true } }
업데이트된 쿼리:
ref.child('userChatrooms').child(username)
역 인덱스의 이점:
위 내용은 참가자 존재 여부를 기반으로 Firebase 채팅을 효율적으로 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!