Verbindung Tasten sind nicht so groß von einer Idee werden zu strukturieren. Bitte konsultieren Sie this part of the documentation, das erklärt, wie man eine Chat-/Konversationsstruktur am besten modelliert.
Relevante Auszug zeigt, wie Daten für Chats zu strukturieren:
{
// Chats contains only meta info about each conversation
// stored under the chats's unique ID
"chats": {
"one": {
"title": "Historical Tech Pioneers",
"lastMessage": "ghopper: Relay malfunction found. Cause: moth.",
"timestamp": 1459361875666
},
"two": { ... },
"three": { ... }
},
// Conversation members are easily accessible
// and stored by chat conversation ID
"members": {
// we'll talk about indices like this below
"one": {
"ghopper": true,
"alovelace": true,
"eclarke": true
},
"two": { ... },
"three": { ... }
},
// Messages are separate from data we may want to iterate quickly
// but still easily paginated and queried, and organized by chat
// conversation ID
"messages": {
"one": {
"m1": {
"name": "eclarke",
"message": "The relay seems to be malfunctioning.",
"timestamp": 1459361875337
},
"m2": { ... },
"m3": { ... }
},
"two": { ... },
"three": { ... }
}
}
sah ich diese dann las ich diese http://stackoverflow.com/questions/33540479/best-way-to-manage-chat-channels -in-firebase in Bezug auf eins zu eins Struktur. Sieht so aus, als müsste ich einen Index für Ihren Ansatz hinzufügen, um auf die Chats zuzugreifen, zu denen der Benutzer gehört, also werde ich diesen Ansatz ausprobieren. – jeh
Das Problem mit zusammengesetzten Schlüsseln ist, dass sie - vom Design her - sehr einschränkend sind. Nämlich: A <> B! = B <> A, und sie skalieren nicht über zwei Teilnehmer hinaus, wenn Sie irgendwann herausfanden, dass Sie sie brauchen. Sicher, sie sind pragmatisch und werden Sie schneller in Gang bringen, ich empfehle Ihnen jedoch nicht, sich so zu beschränken – pkluz