如何从Firebase的所有用户中获取所有子集合的数据?
我有诸如客户 - > documnetid->订单(收集)与所有客户相同。 我需要在列表中显示所有客户的订单列表。 如果客户再次订购项目,则需要创建另一个列表。
FirebaseFirestore.instance
.collection("customer")
.doc('a44d4c1b-7faa-4139-b707-a40499fe4ce5')
.collection("orders")
.where('orderStatus', isEqualTo: 'ordered')
.snapshots(),
如果我提供特定的文档ID,我可以获取数据。但是我需要从所有客户那里获得订单。 请帮助我。 谢谢
I have data something like Customer -> documnetid -> Orders(collection) same as for all customer.
I need to show the list of orders from all the customer in a list.
If a customer orders a item again it needs to create another list.
FirebaseFirestore.instance
.collection("customer")
.doc('a44d4c1b-7faa-4139-b707-a40499fe4ce5')
.collection("orders")
.where('orderStatus', isEqualTo: 'ordered')
.snapshots(),
I can get the data if I provide specific document id. But I need to get orders from all the customers.
Please help me in this.
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该使用集合组查询,如 firebase文档在软件包文档。
这些线条:
You should use a Collection Group query, as explained in the Firebase documentation and in the Dart
cloud_firestore
package documentation.Something along these lines:
您需要更改数据结构。就像您可以为具有相同字段 +客户ID字段的订单创建一个新的不同的不同集合。
因此,您可以通过客户ID获取所有订单和订单,
因此,如果您想获得特定客户的订单,您可以通过此获得这样的订单:
并且您可以获取所有类似的订单:
或者如果您仍然想通过数据结构来完成你可以通过循环做
You need to change your data structure. Like you can create a new different separate collection for orders with the same fields + customer id field.
so you can get all orders and orders by customer id
So if you want to get an orders for a particular customer you can get by this :
And you can get all orders like this:
OR if you still want to do it by your data structure you can do it by loop