gpt4 book ai didi

java - 如何在不覆盖的情况下向 Firebase Firestore 添加值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:16 25 4
gpt4 key购买 nike

我有两个 Activity ,我正在分别从这两个 Activity 向 Firestore 添加数据。但是,每当我将第二个 Activity 数据添加到 Firestore 时,它​​都会覆盖第一个 Activity 数据。我在这两个 Activity 中使用了以下代码:

 firebaseFirestore.collection("Users").document(user_id).set(data)

如何停止覆盖?我想将两个 Activity 数据保存在同一个 user_id 中。

最佳答案

您可以通过两种方式实现这一目标。第一个是使用 Map:

Map<String, Object> map = new HashMap<>();
map.put("yourProperty", "yourValue");
firebaseFirestore.collection("Users").document(user_id).update(map);

如您所见,我使用了 update() 方法而不是 set() 方法。

第二种方法是像这样使用模型类的对象:

YourModelClass yourModelClass = new YourModelClass();
yourModelClass.setProperty("yourValue");
firebaseFirestore.collection("Users").document(user_id)
.set(yourModelClass, SetOptions.mergeFields("yourProperty"));

如您所见,我使用了 set() 方法,但我将 SetOptions.mergeFields("yourProperty") 作为第二个参数传递,这意味着我们只对特定领域进行更新。

关于java - 如何在不覆盖的情况下向 Firebase Firestore 添加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49382675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com