如何在 Firestore Firebase 中创建包含产品的类别

How to create category containing products in firestore firebase

我正在使用 Cloud Firestore 制作我自己的电子商务应用程序。我希望我的类别集合包含许多类别,如鞋子、衣服、手表等,并且在每个类别中都有不同的产品,因此我可以单击该类别并在我的应用程序上显示所有相关产品,请指导我,或者如果你还有其他方法,请告诉我。

Category and Products

根据您的评论:

just tens, this is just my personal project.

由于您只有几十个类别名称,因此最好的选择是将它们存储在一个 单个 文档中的数组类型字段中。然后每个产品文档都应该包含一个字段,您必须在其中指定类别。您的架构应如下所示:

Firestore-root
  |
  --- shop (collection)
  |    |
  |    --- category (document)
  |          |
  |          --- names: ["shoes", "clothes", "watches"]
  |
  --- products (collection)
       |
       --- $productId (document)
             |
             --- name: "Nike Air Jordan"
             |
             --- category: "shoes"

为了能够显示类别名称,您应该简单地读取文档中存在的数组,并将内容显示到 ListView 中,或者更好的是,在 RecyclerView 中。

此外,如果您需要点击特定类别,并继续显示与特定类别相对应的产品,则应使用以下查询:

FirebaseFirestore db = FirebaseFirestore.getInstance();
Query queryByCategory = db.collection("products").whereEqualTo("category", "shoes");

为了展示产品,您可能会考虑从以下 post 阅读我的回答:

以下文章也可以帮助您使用 Firebase-UI 库阅读数据: