Tengo algún tipo de estructura de datos para mi modelo por ahora, todavía estoy averiguando en el camino, pero una de las preocupaciones es que necesito servir los datos del mongo en función del usuario que inició sesión.
Uno de los enfoques que tenía en mente era algo como esto, si mi(s) objeto(s) se veía(n) así en mongo:
{ record_id: 1, property_1: 'some value', property_2: 'some value', users: [1, 2, 3, 4] ... }Y luego otro:
{ record_id: 2, property_1: 'some value 2', property_2: 'some value 2', users: [1, 2] ... }Luego, en alguna página que tengo, puedo mostrar todos los registros de un usuario determinado.
Pero tengo un requisito en el que podría dar acceso a algunos usuarios a más registros y/o menos. ¿Cómo haría para hacer esto?
Si tuviera un caso en el que necesitaría quitar el acceso a una cantidad x de registros y dar acceso a la cantidad y de registros para un usuario. En una base de datos relacional haría algo como esto:
--start transaction-- remove all access for a given user from the records add all new access --transaction end--Entonces, en caso de que el usuario actualice la página, solo puede ver los datos antiguos antes de que se actualice el acceso para ese usuario, o los nuevos datos que ocurrirán solo después de que se complete la transacción completa.
¿Cómo hacen esto en un mundo mongo? ¿Cambio la forma en que almaceno los registros o la forma en que administro la seguridad a nivel de fila por usuario y administro ese acceso?