如何获取firebase云数据库中的字段值?
Posted
技术标签:
【中文标题】如何获取firebase云数据库中的字段值?【英文标题】:How to get the field values in firebase cloud database? 【发布时间】:2021-03-26 03:44:24 【问题描述】:let reference = Firestore
.firestore()
.collection(FBKeys.CollectionPath.users)
.document(uid)
reference.getDocument (document, error) in
if let document = document, document.exists
let dataDescription = document?.data()
print("Document data: \(dataDescription)")
else
print("Document does not exist")
我使用 firebase 创建了一个云数据库。我的收藏名称是“用户”,我有电子邮件、喜爱的艺术、姓名、uid 作为字段。我想要做的是我想添加更多的艺术家到 favoriteArtsts 数组。但是,为此,我必须首先获取对数组的引用。通过按照 firebase 说明,我能够获取 user_id。上面的代码是我尝试过的代码。代码显示所有字段。但是,我不知道如何仅获取 favoriteArtsts 值。有没有办法获取喜爱的Artsts 值?
【问题讨论】:
【参考方案1】:您可以通过 document.get("favoriteAritsts")
获得单个字段(请注意屏幕截图中 favoriteAritsts
中的拼写错误。
你也可以document.data()["favoriteAritsts"]
以上两种方法都会为您提供Any?
的返回类型,因此您需要使用as? [String]
对其中任何一种进行任何可选转换:
let array = document.get("favoriteAritsts") as? [String]
【讨论】:
谢谢!有效!所以,我用 var array = document.get("favoriteAritsts") 作为? [字符串] 数组?。追加(艺术家)。我试图通过追加添加艺术家。当我打印它时它会被添加,但在火力基地中它不会出现。除了追加之外,我还需要做其他事情吗? 太好了——您可以通过单击答案旁边的绿色复选标记来接受答案正确,如果有帮助,您可以单击向上箭头进行投票。是的,你必须做的不仅仅是追加。您可以在 firebase.google.com/docs/firestore/manage-data/add-data 查看 Firebase 文档,了解如何添加数据。您将使用setData
或 updateData
等方法以上是关于如何获取firebase云数据库中的字段值?的主要内容,如果未能解决你的问题,请参考以下文章
您如何避免使用 firebase 云功能可能出现的竞争情况?
尝试获取 Firebase 云数据库数据并将其显示在 RecyclerView 中的片段中