Estoy tratando de crear una aplicación en la que los datos se separen por empresas. Dentro de cada empresa, puede haber varias ubicaciones que contengan datos diferentes. Los usuarios deberían poder ver cada uno de los datos de la ubicación por separado y también les gustaría incluir permisos de usuario para permitir que solo los administradores editen datos. No tengo mucha experiencia trabajando con MongoDb pero estoy tratando de usarlo para ganar algo de experiencia. ¿Cuál es la mejor manera de estructurar esto?
No estoy seguro de entender su caso de uso, pero tal vez:
limitResults()limitResults(user, query) agrega un filtro (WHERE como cláusula) a la consulta para mostrar solo los datos de la empresa en la que se encuentra el usuario, a menos que el usuario sea un administrador, luego devuelve la consulta sin cambios para que puedan ver todos los resultados.Tal vez le resulte útil leer la diferencia entre autenticación y autorización. Una vez que tenga un sistema para autenticar a alguien, necesita un sistema para determinar qué puede hacer la persona.