【问题标题】:How do I display certain field from a Firestore document如何显示 Firestore 文档中的某些字段
【发布时间】:2021-09-06 03:56:41
【问题描述】:

所以我创建了一个包含不同字段的 Firestore 文档:

db.collection("users").document("\(username)").setData([
    "username": username,
    "email": email,
    "Total calories burnt": 0,
    "league": "bronze"
]) { err in
    if let err = err {
        print("Error writing document: \(err)")
    } else {
        print("Document successfully written!")
    }
}

我希望能够只读取文档中的某个字段,即读取存储在 league: 中的数据。但似乎使用.getDocument 会给出文档中的所有内容,而我只需要一个字段。有什么方法可以显式显示存储在 firebase 文档中某个字段中的数据?

【问题讨论】:

  • 哦,是的,忘了提到我在 xcode 中编码

标签: swift google-cloud-firestore


【解决方案1】:

读取和访问控制都是基于每个文档的,因此您不能只读取文档中的单个字段。

您可以阅读整个文档,当然也可以显示单个字段,但您仍会将整个文档读入应用程序。

如果您不想这样做(例如:因为访问权限或节省带宽),请考虑创建一个附加集合,其中每个文档具有相同的键,但仅包含此字段用例。

【讨论】:

  • 好的,我如何阅读整个文档并只显示单个字段
  • 因为这正是我所需要的
  • document.get("league")?
【解决方案2】:

如果您的文档 ID 是 xsana,请先阅读整个文档

 Const doc = Firestore.instance.collection('users').document('xsana').get();

如果您的字段是用户名,则从文档中获取值获取值

Console.log(doc.data["username"]);

尝试一下并告诉我们

【讨论】:

  • 它给了我一个错误,说在范围内找不到 const
猜你喜欢
  • 2022-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 2021-09-27
相关资源
最近更新 更多