首页 > 解决方案 > 如何将数据写入特定位置 Firebase Web

问题描述

我想将数据写入数据库中的特定位置。假设我在数据库中有几个用户。他们每个人都有自己的个人信息,包括他们的电子邮件。我想根据电子邮件找到用户,也就是说使用他的电子邮件(但我不知道它到底是谁的电子邮件,但不管是谁用那个用户的信息做一些事情)。为了更明显,这是我的数据库示例。

在此处输入图像描述

现在,在处理我的一个 javascript 文件时,当用户假设 name1 更改了他的名字时,我在 javascript 中更新了我的对象并想要替换 ID“-LEp2F2fSDUt94SRU0cx”下的整个对象。简而言之,我想在路径(“Users/-LEp2F2fSDUt94SRU0cx”)中写入这个更新的对象,而不是手动完成,只是“知道”电子邮件。所以逻辑是“用电子邮件“name1@yahoo.com”找到用户,并用他更新的新对象替换整个对象”。我尝试使用 orderByChild("Email").equalTo("name1@yahoo.com").set(updated_object),但我猜这种语法不起作用。希望我能解释一下自己。

标签: javascriptfirebasefirebase-realtime-database

解决方案


第一部分是查询,它与要更新的帖子分开。这部分是获取值的查询:

ref.child('users').orderByChild("Email").equalTo("name1@yahoo.com")

要更新,一旦您从查询结果中获得用户 ID,您需要执行以下操作:

ref.child('users').child(userId).child("Email").update(newValue);

推荐阅读