如何使用 Cloud Firestore 在颤动中设置参考选择数组的位置条件 [关闭]

Posted

技术标签:

【中文标题】如何使用 Cloud Firestore 在颤动中设置参考选择数组的位置条件 [关闭]【英文标题】:how to set where condition on array of reference selection in flutter using Cloud Firestore [closed] 【发布时间】:2021-09-27 05:31:13 【问题描述】:

我来自 mysql 背景,刚接触 firebase 云数据库。

如何选择第一区的产品列表?

Mysql:select * from products where product.status=true and zoneIds.name in ("604307") and zoneIds.status=true;

我的 Flutter 代码

class DatabaseManager 

  final CollectionReference collection =
      FirebaseFirestore.instance.collection('products');
  
  Stream<QuerySnapshot> getStream() 
    return collection.where('status', isEqualTo: true).snapshots();
  

这里面怎么加条件?

return collection.where('status', isEqualTo: true).snapshots();

另外,建议我如何在 firebase 中做外键引用概念

【问题讨论】:

【参考方案1】:

Firestore 支持数组查询。 您可以像这样添加条件:

return collection
        .where('status', isEqualTo: true)
        .where('zoneIds', arrayContainsAny: ['1'])
        .snapshots();

您可以参考 FlutterFire 文档查询here。

【讨论】:

需要应用区域引用状态=真条件。

以上是关于如何使用 Cloud Firestore 在颤动中设置参考选择数组的位置条件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

停止在颤动中收听 Cloud Firestore 中的快照更新

将 DateTime 序列化为时间戳以用于 Firestore 颤动

如何在颤动中显示来自firestore的特定文档详细信息

使用streambuilder颤动firestore分页

如何在颤动的Listview中显示字符串列表

如何在listview颤动中显示来自firestore的图像数组?