[英]Firebase React: Remove Item (Map) from array in firestore
我正在嘗試從 firebase 中的數組中刪除 map 項目。根據我對 firebase 的理解 - 您無法根據索引刪除該項目。 我應該以不同的方式構造它還是有更簡單的方法從數組中刪除特定的 object? 謝謝
錯誤:“沒有要更新的文檔:”
const listingRef = doc(db, 'users', 'savedListings');
const deleteListing = async () => {
try {
await updateDoc(listingRef, {
savedListings: deleteField()
});
} catch (e) {
console.log(e.message);
}
};```
在這種情況下, doc()
采用指向文檔的路徑,該文檔應該是users/test@user.com
。 雖然您可以使用arrayRemove()
從數組字段中刪除元素,但您不能從數組中刪除 object,除非您知道 object 的確切值,包括所有字段。
const listingRef = doc(db, 'users', 'USER_EMAIL'); // USER_EMAIL is document ID
const deleteListing = async () => {
try {
await updateDoc(listingRef, {
savedListings: arrayRemove("THAT_OBJECT")
});
} catch (e) {
console.log(e.message);
}
};
如果您沒有確切的 object,則必須閱讀文檔,手動從數組中刪除元素並更新文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.