Consultas sobre bases de datos

Hola, tengo una base de datos de 2 productos (Producto 1 y Producto 2) que se van a vender, arrendar o prestar (de acuerdo a cómo lo decida el usuario).
De estos 2 productos se guarda distinta información, no es la misma para ambos.
Obviamente necesito filtrar después estos productos entre si se venden, arriendan o prestan y marcarlos como “no disponibles” cuando alguien lo agregue al carro de compras.

He visto los videos explicativos sobre bases de datos, pero aún así desconozco el tema:

  1. ¿De qué forma es más conveniente ordenar la base de datos? ¿Algún conejo?
  • Agregar como colección al Producto 1 y 2 por separado;
  • Agregar como una colección llamada Productos que contenta los campos de información que debe completar el usuario
  • ¿Otra forma?
  1. ¿Cómo es posible cambiar el “status” del producto a “no disponible” para que no salga en la lista de productos que se pueden adquirir? ¿Cómo se puede hacer esto? ¿Es posible?

  2. Tengo entendido que si se quiere implementar un chat entre usuarios de la app, se deben obtener ciertas variables como id_usuario, id_producto, etc, que vienen de la base de datos. En el caso de usuarios que pueden ser compradores o vendedores/prestadores/arrendadores, ¿cómo se configuran las variables de id_vendedor e id_comprador?

Espero sus respuestas! :pleading_face:

Hola, puedes tener tus productos en una sola colección:

Para cambiar la disponibilidad de un producto puedes tener un campo en la colección que se llame “disponible”, ahí podrás asignarle un boolean true o false.
Si es true, significa que está disponible, si es false, entonces lo ocultas de la lista con la propiedad isHidden.

Para asignar estos valores podrías hacerlo en base al inventario que tengas, o incluso manualmente.

1 me gusta

Sobre las variables, les puedes llamar como quieras, solo es para que las identifiques a la hora de aplicar tus funciones y lógica

1 me gusta

Y cómo se obtiene el id del otro usuario con el que se habla?