Ich arbeite in einem POS-System und ich verwende Firebase für das Back-End. Einer der Berichte, die ich machen muss, ist "meistverkaufte Produkte".Firebase Datenstruktur Ideen
Ich habe meine Strukturen wie diese /sales/
:
"1234": {
"date": 1234567890, // timestamp
"products": {
"coca-cola-clasica-355-ml": {
"quantity": 3,
"salesPrice": 500,
"costPrice": 400
},
"coca-cola-clasica-600-ml": {
"quantity": 6,
"salesPrice": 900,
"costPrice": 700
}
},
"subtotal": 6400,
"total": 6400
},
"5678": {
"date": 1234567890, // timestamp
"products": {
"taqueritos-chile-picante": {
"quantity": 2,
"salesPrice": 100,
"costPrice": 80
},
"coca-cola-clasica-600-ml": {
"quantity": 4,
"salesPrice": 900,
"costPrice": 700
}
},
"subtotal": 200,
"total": 200
}
und/products /:
{
"coca-cola-clasica-355-ml": {
"costPrice": 350,
"name": "Coca Cola Clasica 355 ml",
"salesPrice": 500,
"stock": 99,
"supplier": "femsa-coca-cola",
"tax": false,
},
"coca-cola-clasica-600-ml": {
"costPrice": 700,
"name": "Coca Cola Clasica 600 ml",
"salesPrice": 900,
"stock": 99,
"supplier": "femsa-coca-cola",
"tax": false,
},
"taqueritos-chile-picante": {
"costPrice": 80,
"name": "Taqueritos Chile Picante",
"salesPrice": 100,
"stock": 500,
"supplier": "dinant",
"tax": true
}
}
Also, wenn ich die "am meisten verkauften Produkte" erhalten haben jetzt muss ich über iterieren alle Verkäufe und addieren Quantität jedes Mal, das ich ein Produkt fand, nach dieser Bestellung die Resultate und die meisten verkauften Produkte erhalten und das saugt.
Ich habe zwei Ideen dieses Problem zu beheben:
- hinzufügen Unterkunft um diese der
/products/
wie „soldTimes“ und fügen Menge jedes Mal, das Produkt verkauft wird. - Erstellen Sie einen dritten Entitätsanruf wie
soldProducts
und zählen Sie die Menge der verkauften Produkte für jedes Mal, wenn ein Kunde einen kauft.
Ist einer dieser 2 Ansatz gültig? Ich vermisse etwas in Firebase?
Danke für die Hilfe.
Dank! Das ist definitiv besser und schneller zu lesen. – fmontes