如何依照參與者的狀態查詢聊天
問題陳述:
問題陳述:給定Fire表示與多個參與者的聊天對話的資料庫結構,我們如何有效地查詢包含特定參與者的聊天?
return this.af.database.list('chats', { query: { orderByChild: 'participants', equalTo: username, // How to check if participants contain username } });
目前查詢(無效):
Firebase只允許在物件內的固定路徑上建立索引,這使得過濾參與者/使用者名稱等嵌套值變得困難。
推薦解決方案:反轉索引在集合中使用 true 值表示該使用者是聊天室的參與者。
userChatrooms: { john: { chatRoom1: true, chatRoom2: true }, puf: { chatRoom1: true, chatRoom3: true } }
修訂數據結構:
ref.child('userChatrooms').child(username)
更新的查詢:
以上是如何根據參與者的狀態有效率地查詢 Firebase 聊天?的詳細內容。更多資訊請關注PHP中文網其他相關文章!