我想更新 Firebase 数据库上的特定节点值。假设新的 longitude
值为 72.7665443
,我想在 Firebase 中设置它来代替经度 25
。
为此,我需要一个 key KZaouoZ8jRsZIYL_9Xg
。如何获取特定节点的 key ?有官方更新节点的方法吗?
最佳答案
通常在 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/