亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何更新文檔中的 arrayList?

如何更新文檔中的 arrayList?

慕田峪7331174 2023-03-23 14:12:07
當我想更新recipIds用戶文檔中的數組列表時,數組列表被擦除并設置新值。我試圖獲取舊收藏,然后為其添加新價值并進行更新,但這似乎有點過分了。public void saveRecipeIds(User user) {    String currentUserId = mAuth.getCurrentUser().getUid();    Map<String, Object> userMap = new HashMap<>();    userMap.put("recipeIds", user.getRecipesIds());    db.collection("users").document(currentUserId).update(userMap);}我想用新值更新我的數組列表而不擦除舊列表數據。這是它在 Firestore 中的樣子:https://imgur.com/a/LUnYxsa
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

要更新數組,您應該在以下代碼行中recipeIds使用like:FieldValue.arrayUnion

db.collection("users").document(currentUserId)
    .update("recipeIds", FieldValue.arrayUnion("newRecipeId"));

編輯:

為了能夠更新數組,例如通過添加新元素,您需要向方法傳遞arrayUnion()一個字符串(id 本身)。您不能傳遞列表或字符串數組。你不可能那樣做。您可以一個接一個地從數組中添加/刪除元素。

如果你想用另一個數組更新數組,你應該首先從數據庫中獲取文檔,在客戶端進行必要的更改,然后將其寫回數據庫。


查看完整回答
反對 回復 2023-03-23
  • 1 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號