【问题标题】:Firestore Is deleting Data on Flutter when new data added添加新数据时,Firestore 正在删除 Flutter 上的数据
【发布时间】:2020-03-30 18:18:01
【问题描述】:

嗨,我正在开发一个应用程序我有一个列表视图,当用户单击列表视图上的项目时,我刚刚在点击方法上创建了一个列表视图,它会将详细信息保存到 firestore,但是当用户单击其他项目时,它会删除当前项目并添加单击的项目我只想将所有点击的项目保留在 Firestore 上,如果您有任何建议,请告诉我,谢谢

这是第一次点击的项目

这是第二次点击的项目,它始终保留最后一次点击的数据]

Firestore.instance.runTransaction((Transaction transaction) async {
    await transaction.set(Firestore.instance.collection("cart").document("LIihBLtbfuJ8Dy640DPd"), {
      foodItem.name : {
        'itemName': foodItem.name,
        'imgUrl': foodItem.imageAssetPath,
        'itemPrice': foodItem.price,
        'quantity': '1',
      }
    });});

【问题讨论】:

  • 您应该使用更新或添加,而不是设置,尝试一下,如果可行,我将提交完整的答案。
  • 更新成功了,非常感谢
  • 我如何检查文档中的数据是否可用,例如,如果数据在 firabase 中可用,我只想增加数量
  • 拜托,你应该为此创建一个新问题。

标签: firebase flutter google-cloud-firestore


【解决方案1】:

正如我们最近在 cmets 中所说,您应该使用 update 而不是 set,因为您希望在同一文档中不删除旧数据。

另外,也许完整的docs 可以帮助您找出更多问题。

【讨论】:

    【解决方案2】:

    您正在使用document("LIihBLtbfuJ8Dy640DPd"),因此您将编辑该特定项目。如果您尝试创建一个具有相同 ID LIihBLtbfuJ8Dy640DPd 的新项目,它会将旧项目替换为新项目。

    您必须让 Firebase Firestore 自动为您创建一个新的文档 ID,或者您必须自己提供一个唯一的 ID。

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 1970-01-01
      • 2021-03-18
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 2020-04-28
      • 1970-01-01
      相关资源
      最近更新 更多