这是我的数据结构:
我有一个试图从Cloud Firestore访问数据的ios应用程序 . 我成功地检索了完整的文档并查询了文档 . 但是,我需要访问特定文档中的特定字段 . 我如何拨打电话,从swift中的Firestore中检索一个字段的值?任何帮助,将不胜感激 .
这实际上非常简单,并且使用内置的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") } }
没有API只从文档中提取单个字段 . 使用getDocument()时始终会提取整个文档 . 这意味着也没有办法使用安全规则来保护文档中的单个字段与其他字段不同 .
如果您尝试最小化通过网络传输的数据量,可以将该单独字段放在主文档的子集合中的自己的文档中,并且可以单独请求一个文档 .
另见thread of discussion .
您可以在主集合中创建新的私有集合,并设置不同的访问规则 .
检查位置:Firebase Firestore get private fields
希望我能帮助你 .
3 回答
这实际上非常简单,并且使用内置的firebase api非常容易实现 .
没有API只从文档中提取单个字段 . 使用getDocument()时始终会提取整个文档 . 这意味着也没有办法使用安全规则来保护文档中的单个字段与其他字段不同 .
如果您尝试最小化通过网络传输的数据量,可以将该单独字段放在主文档的子集合中的自己的文档中,并且可以单独请求一个文档 .
另见thread of discussion .
您可以在主集合中创建新的私有集合,并设置不同的访问规则 .
检查位置:Firebase Firestore get private fields
希望我能帮助你 .