我有一个包含如下字段的集合和文档:
我正在尝试删除“喜欢”数组字段中的单个项目,该字段是用命名索引准备的,而不是像 0,1,2 这样的数字索引。我浏览了论坛但找不到这个问题的答案。我尝试的是:
updateDoc(doc(db, "users", selectedUserId), {likes: arrayRemove(userId)}) // also with arrayRemove({userId})
但这会删除
likes
数组内的所有对象。怎么处理这个问题?
你根本没有数组。 Firestore 中的数组始终按数字而不是字符串进行索引,并且对象始终使用字符串键填充。因此,您有一个对象字段而不是数组字段。 因此,
arrayRemove
不会达到您的预期。
如果您想删除对象字段的子字段,您必须: