Tengo una duda que decidirá mi gran proyecto. Quiero hacer una API de gran proyecto donde las personas puedan iniciar sesión con Google, enviar el token y, cuando inicien sesión, realizar algunas acciones guardadas en Mongo DB.
El problema es la estructura de las tablas, o esquema. Entonces, quiero hacer una buena aplicación escalable.
Tengo algunas tablas como Usuarios (con información de inicio de sesión de los usuarios) y quiero que el usuario guarde sus tareas, recuerdos, trabajos y más para sí mismo, y cuando inicie sesión en otro dispositivo, obtenga esta información y modifique.
La pregunta:
¿Necesito hacer todas las tablas para cada usuario o usar la misma tabla filtrada por usuario?
Por ejemplo, ahora tengo este modelo para el producto:
nameOfProduct: { type: String, require: [ true, 'Required name' ], unique: true }, state: { type: Boolean, default: true, required: true }, userOwner: { type: Schema.Types.ObjectId, ref: 'Usuario', required: true }, priece: { type: Number, default: 0 }, category: { type: Schema.Types.ObjectId, ref: 'Category', required: true }, description: { type: String }, disponibility: { type: Boolean, default: true }, img: { type: String }, });¿Es esto correcto o esto no es escalable y necesito hacer todas las tablas para cada usuario?
Gracias de antemano y lo siento por mi inglés, es difícil escribir cuando no soy el idioma nativo inglés (ayúdame o corrígeme si es necesario).