【发布时间】:2020-03-25 22:38:08
【问题描述】:
目前用户存储在我的实时 Firebase 数据库中。
用户类包含:
private String uid;
private UserPermissions userPermissions;
private List<Item> items;
列表items默认为空,这会导致以下数据库结构:
一个按钮用于将一个项目添加到当前用户的列表中。
目前我正在尝试通过整个用户对象更新数据库,如下所示:
ref = FirebaseDatabase.getInstance().getReference().child("users");
[...]
Button dialogButton = (Button) dialog.findViewById(R.id.addItem);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ref.setValue(user);
dialog.dismiss();
}
});
结果如下:
层次结构被破坏了。
在不将整个用户对象设置为数据库的情况下,是否有任何其他可能更新现有用户的列表项?如果没有,如何防止这个问题?
如何使用 where 条件更新类似于 MySQL 语法的用户?
UPDATE `ingredients` SET `ingredient` = `new_value' WHERE `uid` = `PClW...`;
提前感谢您的帮助!
【问题讨论】:
标签: java android firebase firebase-realtime-database