如何从Swift中的Cloud FireStore Firebase访问特定字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Swift中的Cloud FireStore Firebase访问特定字段相关的知识,希望对你有一定的参考价值。
这是我的数据结构:
我有一个试图从Cloud Firestore访问数据的ios应用程序。我成功地检索了完整的文档并查询了文档。但是,我需要访问特定文档中的特定字段。我如何拨打电话,从swift中的Firestore中检索一个字段的值?任何帮助,将不胜感激。
没有API只从文档中提取单个字段。使用getDocument()时始终会获取整个文档。这意味着也没有办法使用安全规则来保护文档中的单个字段与其他字段不同。
如果您尝试最小化通过网络传输的数据量,可以将该单独字段放在主文档的子集合中的自己的文档中,并且可以单独请求一个文档。
这实际上非常简单,并且使用内置的firebase api非常容易实现。
let docRef = db.collection("users").document(name)
docRef.getDocument(source: .cache) (document, error) in
if let document = document
let property = document.get(field)
else
print("Document does not exist in cache")
实际上有一种方法,使用Firebase本身提供的示例代码
let docRef = db.collection("cities").document("SF")
docRef.getDocument (document, error) in
if let document = document, document.exists
let property = document.get('fieldname')
print("Document data: \(dataDescription)")
else
print("Document does not exist")
//this is code for javascript
var docRef = db.collection("users").doc("ID");
docRef.get().then(function(doc)
if (doc.exists)
//gives full object of user
console.log("Document data:", doc.data());
//gives specific field
var name=doc.get('name');
console.log(name);
else
// doc.data() will be undefined in this case
console.log("No such document!");
).catch(function(error)
console.log("Error getting document:", error);
);
以上是关于如何从Swift中的Cloud FireStore Firebase访问特定字段的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Cloud Firestore 上的对象中检索值?迅速
无法通过Cloud Functions(onCall)从Cloud Firestore返回一个json数组到Swift
Swift - Cloud Firestore 中的唯一 ID
init() 中的 Swift Array.append 不能与 Firestore (Google Cloud/FIrebase) 结合使用
在使用 Swift 的 iOS 应用程序中使用 DispatchQueue 等待数据从 Cloud Firestore 返回时遇到问题