android - 在 android 中更新 Firebase 上的特定节点值

标签 android firebase firebase-realtime-database

我想更新 Firebase 数据库上的特定节点值。假设新的 longitude 值为 72.7665443,我想在 Firebase 中设置它来代替经度 25

为此,我需要一个 key KZaouoZ8jRsZIYL_9Xg。如何获取特定节点的 key ?有官方更新节点的方法吗?

enter image description here

最佳答案

通常在 no-sql 数据库中你会得到键值对的概念,在这种情况下它是相似的,它是一个有值的节点。

请提供有关问题的更多详细信息... 您需要 key 才能访问该值,在这种情况下,UsersDatabase 似乎是用户数据的容器,可能链接到 FirebaseAuth 帐户,如果是这种情况,那么您的用户的 UUID 应该与数据库中的 key 相匹配,这里是如何得到它:

String userUid = FirebaseAuth.getInstance().getCurrentUser().getUid();

这个场景非常简单,您在 UsersDatabase 节点上获取数据库引用,然后访问它的子对象:

DatabaseReference databaseReference = FirebaseDatabase.getInstance()
        .getReference("UsersDatabase");
databaseReference.child(user.getUid()).setValue(/*YOUR OBJECT CLASS GOES HERE*/);

如果没有,那么您可以使用一个临时查询来通过另一个字段获取特定节点,例如:

DatabaseReference databaseReference = FirebaseDatabase.getInstance()
        .getReference("UsersDatabase");
Query filteredData = databaseReference
        .orderByChild("name")
        .startAt("Gulfad")
        .endAt("Gulfad");

注意:您应该有办法访问这些项目的 key 。以这种方式查询项目对于数据库的性能来说是很困难的。

关于android - 在 android 中更新 Firebase 上的特定节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41290038/

相关文章:

Android ==> 内存分析 ==> Eclipse 内存分析器?

android - 如果设备关闭,Alarmmanager 不会触发第一个警报

javascript - 如何监听 firestore 子集合中所有文档的更改?

尝试保存到数据库时,Angularfire firestore 始终提供不足的权限

swift - Firebase 2.0 - 从 FIRDataSnapshot 读取数据不起作用

android - 在 Google Play 的 Android 应用的新功能部分下添加内容

android - 在 Android 中使用 H.265 HEVC 编码视频

reactjs - 如何在 Firebase Github Auth 中获取 github 用户名

swift - 在 Firebase 中删除项目

javascript - 多个 Firebase 函数不起作用