FieldValue.delete() 只能出现在更新数据的顶层 - Firestore

FieldValue.delete() can only appear at the top level of your update data - Firestore

这是我的数据库:

如何删除私人地图下lotteryIDs中的key“2”?我试过这个:

db.collection("users").document(currentUser.uid).updateData([
"private": ["lotteryIDs" : ["2" : FieldValue.delete()]]
])

现在我得到了标题中描述的错误。使用:

"private/lotteryIDs/\(id)": FieldValue.delete

显然效果不佳。我在 docs 中找不到它,他们只解释了如何删除 top-level 字段,而不是 objects.

中的字段

您应该能够将虚线字段路径与 updateData 一起使用:

db.collection("users").document(currentUser.uid).updateData([
"private.lotteryIDs.2" : FieldValue.delete()])