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
Lineacollection; - lista_categorie is a references to
TagClasscollection; - lista_taglie is a references to
Tagliacollection.
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))
);