在firebase中的数组中添加一个字段而不删除firebase中的其他字段[重复]

Posted

技术标签:

【中文标题】在firebase中的数组中添加一个字段而不删除firebase中的其他字段[重复]【英文标题】:add a field in array in firebase without removing other fields in firebase [duplicate] 【发布时间】:2021-10-04 02:15:32 【问题描述】:

我想在数组中添加一个新字段,但是当我尝试添加一个新字段时,它将删除其余部分并仅添加剩余部分。 我试过了,但没有用

 collectionRef
        .doc("userIdLalit")
        .collection("stories")
        .doc("BHUCC3ewEeByJ6U68ygJ")
        .update(
      
        "reactionModel": 
          "user": [
            "fourth element": "Sam",
          ],
        
      ,
    );

此代码将删除第 0 和第 1 个元素并添加第四个元素,但每当我添加新字段时我都想要它们

我尝试使用 set 方法合并 true 但没有用

【问题讨论】:

【参考方案1】:

您可以使用FieldValue.arrayUnion() 将新项目推送到数组中:

collectionRef
  .doc("userIdLalit")
  .collection("stories")
  .doc("BHUCC3ewEeByJ6U68ygJ")
  .update(
    "reactionModel.user":  FieldValue.arrayUnion("fourth element": "Sam")
  );

此外,数组嵌套在地图中,因此您必须使用点符号来更新它,即"reactionModel.user"

【讨论】:

以上是关于在firebase中的数组中添加一个字段而不删除firebase中的其他字段[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中将项目添加到 Firebase 数组而不首先观察数组

如何通过本机反应将新字段数据更新到现有文档而不覆盖firebase-9中的现有数据

Flutter 和 Firebase:从 Firebase 中的数组中删除项目(地图)

Firebase firestore 从字段数组中删除项目

如何在 JQuery 中添加和删除数组而不重新索引数组键

如何删除 Firebase 数据库中数组中的项目?