Diciamo che ho due tipi di oggetti utenti e account. Gli utenti possono avere molti account e condividerli con altri utenti. Quindi AccountA potrebbe essere disponibile per Utente1 e Utente2. Mentre AccountB è disponibile solo per Utente1. Quindi Utente1 ha due account e Utente2 ha un account.Molti-a-molti che utilizzano Firebase
Qual è il modo "firebase" per strutturare questo?
Inizialmente pensavo che gli utenti potessero memorizzare una serie di account a cui appartengono.
users: {
1: {
name: 'Ted',
accounts: [1, 2]
}
2: {
name: 'Frank',
accounts: [1]
}
}
accounts: {
1: {
name: "Checking"
},
2: {
name: "Savings"
}
}
o l'account disporrà di una gamma di utenti.
users: {
1: {
name: 'Ted'
}
2: {
name: 'Frank'
}
}
accounts: {
1: {
name: "Checking",
users: [1, 2]
},
2: {
name: "Savings"
users: [1]
}
}
Mi chiedo in che modo si presta per me di trovare facilmente gli account di un utente in modo che quando Ted accede posso elencare i conti che appartengono senza dover abbattere l'intero database. Per sicurezza, non voglio comunque tutti quei dati sulla sua macchina.
Domanda n. 1 Le norme di sicurezza si prenderanno cura di questo? Con ciò intendo che sto programmando di impostare la mia regola di sicurezza in modo che gli utenti possano solo gli account a cui appartengono. Spero che se chiedo "/ account" restituirò solo quegli account a cui l'utente può accedere ... no?
Domanda n. 2 Esiste un meccanismo per la richiesta di un elenco di elementi. Come "/ accounts/[1,2]" in modo che torni i conti "/ accounts/1" e "/ accounts/2"?
Grazie per qualsiasi informazione che è possibile condividere.
Specificare come si effettua la richiesta. Se solo tu hai un riferimento Firebase a un utente specifico. Come riceveresti informazioni sul suo account – feresr
@feresr avresti bisogno di più richieste: la prima per ottenere l'elenco di account (/ utenti/1/account), e poi uno per ogni account che ti interessa (a/account/n). Questo è il motivo per cui a volte vale la pena tenere alcune informazioni di riepilogo sotto/users/x/accounts/y, come ad esempio il nickname dell'account. –
Ok. Ho senso ora. Grazie! – feresr