Tengo dos colecciones: grupos y usuarios.
Me gustaría realizar una consulta que devuelva todos los grupos donde un usuario tiene asignado un rol particular.
Un grupo se ve así
{ "name": "myGroupName", "members" : { "firstUsersID" : { "roles" : ["user", "admin"] }, "secondUsersID" : { "roles" : ["user" ] }, } }¿Hay alguna forma de realizar consultas en reaccionar SDK nativo/web que devolverá
Alternativamente, ¿tendría que crear una matriz/mapa en el objeto de usuario que enumera sus roles? ¿Hay ventajas/desventajas en cada ruta?
Actualmente tengo lo siguiente que devuelve todos los grupos
const colRef = collection(db, "groups"); const q = query(colRef) const colSnap = await getDocs(q)me di cuenta creo
los siguientes trabajos
const colRef = collection(db, "groups"); const q = query(colRef, where("users." + user.uid + ".roles", "array-contains", "admin"))En este caso, obtengo dinámicamente el uid del usuario autenticado actual, pero también podría codificarlo utilizando
const q = query(colRef, where("users.firstUserID.roles", "array-contains", "admin"))