【问题标题】:CollectionReference to DocumentReferenceCollectionReference 到 DocumentReference
【发布时间】:2020-07-17 05:44:11
【问题描述】:

我正在尝试在 Flutter 中执行 Firestore 事务。 因此我需要通过documentReference

根据标识符访问“课程”文档时没有问题。 问题在于获取活动用户通行证时。我尝试使用的where 返回Query.reference() 返回CollectionReference(事务方法不接受)。

如何根据字段的值获取对文档的引用。

为它增添趣味:数据库规则不允许我阅读所有通行证。我只能访问那些拥有我的 UserID(双重检查 - 工作)的人。

  DocumentReference lessonRef =
    await _db.collection('lessons').document(lesson.identifier);

  CollectionReference passRef = await _db
        .collection('passes')
        .where('userID', isEqualTo: user.identifier).reference();

【问题讨论】:

    标签: flutter google-cloud-firestore


    【解决方案1】:

    您可以像这样获取查询文档的 DocumentReference:

    Firestore.instance
    .collection('passes')
    .where('userID', isEqualTo: user.identifier)
    .snapshots()
    .listen((reference) =>
        data.documents.forEach((doc) => /*do what you want with doc.reference*/));
    

    (我不是 Flutter 方面的专家,无法测试代码,但我的答案基于 the API reference

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2021-11-02
      • 2023-03-15
      • 2021-11-16
      • 2021-11-08
      • 1970-01-01
      • 2022-07-02
      • 2021-11-01
      • 2021-07-30
      相关资源
      最近更新 更多