簡體   English   中英

Firebase 刪除數組項

[英]Firebase Remove An Array Item

我想從 Firestore 中的數組中刪除一個值。 我正在使用 firebase 函數並在刪除用戶后更新此字段。 我嘗試過更新數組,嘗試過 arrayRemove 以及其他各種行。 因為每次我想運行測試時都必須進行部署,所以它很耗時,而且每次都很難構建和刪除數據。

所以我希望有人可以幫助我在這里找到這個解決方案:

我想遍歷一個 ID 列表(數據庫中的用戶)並提取他們的匹配項,並從他們的匹配項列表中刪除一個特定的 ID。

當我運行它時,它不知道firebase.firestore是什么。 所以我不確定如何使用這種類型的FieldValue.delete()注冊 firestore。 這部分的目標是什么? “admin.FieldValue.delete()”?

admin.firestore()
.collection("Users")
.doc(matches[i])
.update({
  [userId]: firebase.firestore.FieldValue.delete(),
});

我也試過這個:

admin
.firestore()
.collection("Users")
.doc(matches[i])
.update({
  matches: admin.firebase.firestore.FieldValue.arrayRemove(userId),
});

但它又不知道firebase.firestore是什么。 從數組中刪除一個值的正確方法是什么?

另外,我擔心在 for 循環中進行標注,但我沒有找到解決方法。 有沒有人有什么建議? 這些不需要是異步的,因為所有事務都不相互依賴。

我在 firebase 函數中收到的錯誤消息:

ReferenceError:firebase 未定義

如果您像這樣導入了 Admin SDK:

const admin = require("firebase-admin");

您將需要使用admin.firestore.FieldValue.delete() arrayRemove()模式相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM