gpt4 book ai didi

android - Firebase set value 重写 children- Android

转载 作者:行者123 更新时间:2023-11-30 00:02:49 25 4
gpt4 key购买 nike

我正在使用 Firebase 实时数据库以以下结构保存数据。

root
|----email
|---A
|---B
|---C

一切都很好,直到我尝试使用 setValue() 向 email 添加一个子项时,所有现有的子项都被覆盖。

预期结构:

root
|----email
|---A
|---B
|---C
|---D
|---D1
|---D2
|---D3

保存在 firebase 中的实际数据结构

root
|----email
|---D
|---D1
|---D2
|---D3

我也试过 push().setValue() 但它正在创建一个唯一的键,这在我的情况下不是必需的,数据结构应该如上。

我的代码:

DatabaseReference root=FirebaseDatabase.getInstance().getReference;
DatabaseReference dEmail=root.child("email");
DatabaseReference dTrack=dEmail.child("D");
Map<String, Object> transportStatus = new HashMap<>();
transportStatus.put("D1", "A");
transportStatus.put("D2", "B");
transportStatus.put("D3", "C");
transportStatus.put("D4", "D");
dTrack.setValue(transportStatus);

请帮忙。提前致谢。

最佳答案

我想建议使用 updateChildren,

    DatabaseReference root=FirebaseDatabase.getInstance().getReference;
DatabaseReference dEmail=root.child("email");
DatabaseReference dTrack=dEmail.child("D");
Map<String, Object> transportStatus = new HashMap<>();
transportStatus.put("D1", "A");
transportStatus.put("D2", "B");
transportStatus.put("D3", "C");
transportStatus.put("D4", "D");
dTrack.updateChildren(transportStatus);

关于android - Firebase set value 重写 children- Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49594748/

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