我正在尝试使用Firestore建立购物清单。用户属于一个组。一个组有一个购物清单。购物清单中有商品。购物清单的路径可能像这样/groups/A11C1F3A/ShoppingListA11C1F3A/
,其中A11C1F3A
是groupId。
我遇到错误
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'FIRESTORE INTERNAL ASSERTION FAILED: Invalid document reference. Document references must have an even number of segments, but groups has 1'
据我所知,这个错误意味着我的数据模型一定有问题。我发现了this个问题,该问题的答案是
有效的集合路径将始终具有奇数个段;文档的有效路径,偶数。
这是我的方法
func saveItemToDB(with itemName: String) {
let db = Firestore.firestore()
if let _ = Auth.auth().currentUser {
let groupId = HomeViewController.groupId
let groupRef = db.collection("groups").document(groupId).collection("ShoppingList" + groupId)
let data: [String: Any] = [
"name" : itemName
]
groupRef.document(itemName).setData(data)
}
}
我的收藏中的细分数是三个吗?我在这里看不到问题。