【问题标题】:Cloud Firestore Document ReferenceCloud Firestore 文档参考
【发布时间】:2021-03-25 08:50:42
【问题描述】:

我在 Cloud Firestore 中有 2 个集合,并希望通过我正在使用文档参考的产品“userBids”的一个字段来使用这两个集合:

Kullanıcılar(用户)

Ürünler(产品)

问题 我想从我的产品模型中的“userBids”字段联系我的用户,但出现以下错误;

类“DocumentReference”没有实例方法“[]”。

接收方:“DocumentReference”实例

尝试调用:)

 Text(data[0]['userBids'][index]['user']['nickname']

那么,如何在 Flutter 中从 Cloud Firestore 中的另一个集合访问一个集合?

【问题讨论】:

  • 您可以添加更多与您的页面和模型相关的代码。我认为您需要为每个用户发送一个新请求以获取他们的集合属性。
  • 请编辑问题以更清楚地显示未按您预期方式工作的查询代码。但是我现在可以告诉您,一个查询只能访问一个集合中的文档,并且您将无法访问除您第一次查询的集合之外的另一个集合。如果您想要来自两个集合的数据,则需要两个查询。
  • 所以你说我不能使用 cloud firestore 来获取嵌套文档,我需要单独的 2 个查询?
  • 正确,您需要单独查询嵌套文档。您应该知道 firestore 实际上并不嵌套文档;它比其他任何东西都更像是一种寻址约定。 “子”文档可以存在没有任何父集合或文档;对于您的数据库来说,拥有这样的文档是完全有效的:.doc("collection1/document1/collection2/document2/collection3/document3") 没有任何collection1、document1、collection2或document2。

标签: flutter dart google-cloud-firestore


【解决方案1】:

您需要单独查询“嵌套”文档。您应该知道,firestore 确实 NO 实际上嵌套了文档;它比其他任何东西都更像是一种寻址/索引约定。 “子”文档可以在没有任何父集合或文档的情况下存在;您的数据库拥有这样的文档是完全有效的:

.doc("collection1/document1/collection2/document2/collection3/document3")

collection1、document1、collection2 或 document2 中的任何一个都不存在。在 Firebase 控制台中,您会以斜体 看到这些不存在的集合和文档的名称和 ID。

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 1970-01-01
    • 2018-03-19
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    相关资源
    最近更新 更多