jim*_*jon 1 swift google-cloud-firestore
这是我的数据库。
这是我的代码
let db = Firestore.firestore()
let defaults = UserDefaults.standard
let userId: String! = defaults.string(forKey: "UserUUID")
db.collection("Portfolios")
.whereField("users." + userId, isEqualTo: true)
.limit(to: 1)
.getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for portfolioDocument in querySnapshot!.documents {
print("Portfolio: \(portfolioDocument.documentID) => \(portfolioDocument.data())")
let portRef = db.collection("Portfolios").document("portfolioDocument.documentID")
portRef.getDocument { (document, error) in
if let document = document {
print("Document data: \(document.data())")
portRef.collection("Accounts").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
var docs:[DocumentSnapshot] = []
for document in querySnapshot!.documents {
Run Code Online (Sandbox Code Playgroud)
我什至对“Mogu...”文档ID 进行了硬编码,但没有任何效果。我缺少的显而易见的东西是什么?
querySnapshot.documents 在最后一行是 0:
for document in querySnapshot!.documents {
Run Code Online (Sandbox Code Playgroud)
编辑:这是返回 0 个文档的最后一个查询。剩下的工作:
no, that has no effect on the top level as that is successful. It is the last query that is brings 0 documents: portRef.collection("Accounts").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
var docs:[DocumentSnapshot] = []
for document in querySnapshot!.documents {
Run Code Online (Sandbox Code Playgroud)
您的 Accounts 集合中的 Coinbase 和 Default 文档实际上并不存在,请参阅控制台中不存在的文档。在您的屏幕截图中,请注意 Coinbase 和 Default 的文档名称是斜体和灰色。这表明这些文档不是直接创建的,而是位于确实存在的更深层次嵌套文档的路径上。
尝试在 Coinbase 和 Default 中设置字段值。这应该让它们出现在您的查询中。
| 归档时间: |
|
| 查看次数: |
937 次 |
| 最近记录: |