Skip to main content
Version: 1.0.0

Occhiale

Purpose​

The Occhiale collection defines the structure of glasses models.
Its purpose is to store product details, multilingual descriptions, references to related categories, sizes, and lines, as well as 3D viewer links and images.

Document schema​

{
"codiceOcchiale": "string",
"descrizione": "string",
"descrizione_de": "string",
"descrizione_en": "string",
"descrizione_es": "string",
"descrizione_fr": "string",
"ean_code": "string",
"glasses_inclination_coeff": "string",
"glasses_inclination_coeff_ios": "string",
"glasses_y_coeff": "string",
"glasses_y_coeff_android": "string",
"glasses_z_coeff": "string",
"glasses_z_coeff_android": "string",
"id": "string",
"imgUrl": "string",
"lastUpdate": "string",
"lineaRef": "reference",
"lista_categorie": ["reference"],
"lista_taglie": ["reference"],
"multiple_3d_viewer_link": "string",
"nome_modello": "string",
"numero_note": "number",
"numero_varianti": "number",
"priority": "number",
"stato": "string",
"thumbnail": "string",
"upc_code": "string",
"url_image": "string",
"url_product": "string",
"url_shadow": "string"
}

Indexes​

  • lineaRef is a reference to Linea collection;
  • lista_categorie is a references to TagClass collection;
  • lista_taglie is a references to Taglia collection.

Query examples​

// Fetch the Reference Doc from Firebase
const occhialeRefDoc = doc(db, "Occhiale", occhialeId);

// Get the Document Snapshot from the Reference Doc
const occhialeRefSnap = await getDoc(occhialeRefDoc);

// Query glasses by line
const glassesByLine = query(
collection(db, "Occhiale"),
where("lineaRef", "==", doc(db, "Linea", lineaId))
);

// Query glasses by category
const glassesByCategory = query(
collection(db, "Occhiale"),
where("lista_categorie", "array-contains", doc(db, "TagClass", categoryId))
);

// Query glasses by size
const glassesBySize = query(
collection(db, "Occhiale"),
where("lista_taglie", "array-contains", doc(db, "Taglia", sizeId))
);