Saltar al contenido principal

Base de datos (Ares)

Se utiliza MongoDB hospedado en el servidor gaia-mongo dentro de un contenedor aislado de Docker.

Colecciones

Se tienen 3 colecciones para llevar el control de los productos gestionados por Ares.

  1. ProductSchema: Esta colección es la principal donde se almacena la información recibida por las fuentes, cada documento representa un producto y el id corresponde al sku.
  2. ProductLog: Cada mensaje de rabbitmq recibido de las fuentes es registrado en ProductLog. Funciona unicamente como a historico de actualizaciones.
  3. Config: Es aquí donde se podria llegar a preservar algunas configuraciones dinamicas (fuera del código). Ahora tenemos el mapeo de colores de forma que podemos traducir un nombre de color a su código hexadecimal.

Cliente y conexión

Para conectarse a la base de datos y asi visualizar la información de productos puedes utilizar cualquier gestor de base de datos NoSQL. Te recomiendo descargar MongoDB Compass es gratuito.

Puedes usar la siguiente cadena de conexión (reemplazando password e ip) para una conexión rapida al ambiente de stage.

mongodb://sedStgRead:password@ip:27018/ares_stg

Consulta de datos

Para hacer consultas en MongoDB, usa el método db.collection.find() en el MongoDB Shell para buscar documentos en una colección, especificando criterios de búsqueda y proyección en formato JSON. También puedes usar el Aggregation Framework para consultas complejas de varios pasos, el Visual Query Builder de herramientas como Studio 3T para un enfoque visual, o MongoDB Compass para generar consultas. Encuentre mas información en https://www.mongodb.com/docs/manual/tutorial/query-documents/.

Te muestro algunos ejemplos:

  • Obtener producto por SKU
    • query: {sku: 'VMR4AKX369'}
  • Obtener solo el inventario de un producto
    • query: {sku: 'VMR4AKX369'}
    • project: {availability:1}
  • Obtener productos que no tienen la información minima para ser publicados
    • query: {$or:[{completed:{$exists:false}},{completed:false}]}