gpt4 book ai didi

java - 如何在不覆盖其他 child 的情况下添加新 child

转载 作者:行者123 更新时间:2023-11-29 04:09:03 25 4
gpt4 key购买 nike

我正在尝试向我的数据库中的下面添加一个新子项,但每次我添加一个新子项时,其他子项都会被覆盖。

enter image description here

我知道 setValue() 会覆盖子项。我不想使用 Push(),因为这会创建另一个我不想要的 ID,因为我希望用户能够进入数据库并手动添加新的 userID:true。

mDatabase = FirebaseDatabase.getInstance().getReference("readUsers")

HashMap<String, String> readUser = new HashMap<>();
readUser.put(userId, "true");


mDatabase.setValue(readUser).addOnCompleteListener(new OnCompleteListener<Void>() {

有没有其他方法可以不使用 push() 来添加新的 child ?

最佳答案

您可以使用 updateChildren():

mDatabase = FirebaseDatabase.getInstance().getReference("readUsers")
Map<String, Object> updates = new HashMap<String,Object>();
updates.put(userId, "true");
mDatabase.updateChildren(updates);

来自文档:

Update specific fields

To simultaneously write to specific children of a node without overwriting other child nodes, use the updateChildren() method.

关于java - 如何在不覆盖其他 child 的情况下添加新 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56234521/

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