Bit*_* Do 2 java android firebase firebase-realtime-database
我试图更改我的数据库的子项中的值,但无法在不删除该子项下的其他数据的情况下执行此操作。尝试使用 push(),但它创建了新的孩子,我想更新现有孩子的值并保存其他孩子。
假设我需要更改字段 1(电子邮件、姓名)的 ONLY 值并将子测试和其他数据保存在下面。
databaseRef.child("Field 1").setValue(new UserForRealtimeDatabase("1st value of Field 1", "2st value of Field 1"));
Run Code Online (Sandbox Code Playgroud)
此代码有效,但字段 1 下的所有数据都被完全删除。你能帮我怎么做吗,或者可能没有标准的选择?
您需要执行以下操作:
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users").child("Field 1");
Map<String, Object> updates = new HashMap<String,Object>();
updates.put("email", newemail);
updates.put("name", newname);
ref.updateChildren(updates);
Run Code Online (Sandbox Code Playgroud)
更多信息在这里:
https://firebase.google.com/docs/database/android/read-and-write#update_specific_fields
public Task<Void> updateChildren (Map<String, Object> update)将特定子键更新为指定值。将映射中的 null 传递给 updateChildren() 将删除指定位置的值。
| 归档时间: |
|
| 查看次数: |
4363 次 |
| 最近记录: |