Cómo modelizar distintos tipos de usuario en NoSQL?

B

Mi primera vez con NoSQL. Estoy con MongoDB por ahora, document model.

Ésto por ejemplo:

Como se suele modelizar?
Creando una colección para cada tipo de usuario y que tengan referencia a User? Añado tambien un campo typeUser en User?

Maldercito

Depende de la relevancia de UserType. Si es poco importante, puedes manejarlo en el nivel de la colección User poniendole un campo UserType y añadiendo lo que necesites para cada uno de los tipos.

Otra opción es crear una colección de tipos de usuario, e ir añadiendo los tipos de usuario cada uno con sus características y luego enlazarlo con cada User.

Y la última opción, que sería la que menos usaría, sería la de hacer un tipo de colección por cada tipo de usuario. Aunque si son muy relevantes y distintas entre si, si que puede merecer la pena.

En el tiempo que llevo diseñando NoSQL no he encontrado una respuestas estándar en la comunidad para estas preguntas. Depende mucho de como quieras llevar el manejo del resto de la aplicación.

2 respuestas
B

#2 Creo que me quedaré con la 1a opción.

Algo asins dentro de User:

{
        ...
	userType: "type1",
	details: [
		{
			field1Type1: "",
			field2Type1: ""	
		}
	]
}

Gracias.
Btw, ya vendrán más preguntas sobre el tema xD

1 respuesta
Kaiserlau

#2 #3 Una pregunta noob
¿para simplificar mas no seria mejor poner el userType y luego directamente la identificacion del tipo de usuario con un int, 1 para dmin, 2 para mod, 3 user etc.. ? Asi luego solo es definir el modelo (q se va tener q hacer igualmente) con una clase privilegios o lo q sea?.

Usuarios habituales