1
私はPOSシステムで作業しており、私はバックエンドにFirebaseを使用しています。私が作成しなければならない報告書の1つは、「ほとんどの/少ない販売製品」です。Firebaseのデータ構造のアイデア
私はこの/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
}
そして/製品/:だから私は、私は反復処理しなければならない今「最も販売された製品」を取得する必要がある場合
{
"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
}
}
を私が製品を見つけたときはいつも、すべての販売と数量を追加して、その結果を注文して、最も売れた商品を買ってしまいます。
私はこの問題を解決するには、2つのアイデアを持っている:
- は「soldTimes」のよう
/products/
にプロパティを追加し、数量に製品が販売されるたびに追加します。 soldProducts
のような第3のエンティティコールを作成し、クライアントが購入するたびに1つ1つにつき販売数量を数えます。
この2つのアプローチは有効ですか?私はFirebaseで何かを逃していますか?
ありがとうございました。
感謝を!それは間違いなく、より速く読むことができます。 – fmontes