如何在 Firebase 中获取直接父键
Posted
技术标签:
【中文标题】如何在 Firebase 中获取直接父键【英文标题】:How do I get immediate parent keys in firebase 【发布时间】:2020-08-09 00:15:12 【问题描述】:所以我正在尝试获取直接父键,它们实际上是“用户”数据库下的子键。
像这样,下划线的 -
我的代码如下-
databaseReference.addChildEventListener(new ChildEventListener()
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s)
for( DataSnapshot postSnapshot : dataSnapshot.getChildren())
String user = postSnapshot.getKey();
list.add(user);
但它所做的只是返回下面的图像 -
【问题讨论】:
请登录用户。 相反,登录用户不必显示在列表中。必须显示其他用户。在这里找到了一些东西,但正则表达式返回了奇怪的数据***.com/questions/46949464/… 【参考方案1】:首先你的数据库引用必须是这样的:
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("users");
这是您读取数据的方式:
ValueEventListener listener = new ValueEventListener()
@Override
public void onDataChange(DataSnapshot dataSnapshot)
for(DataSnapshot ds: dataSnapshot.getChildren())
String user = ds.getKey();
list.add(user);
@Override
public void onCancelled(DatabaseError databaseError)
//log error
Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
;
databaseReference.addValueEventListener(listener);
【讨论】:
您刚刚编写了与我相同的代码,它返回用户名和密码,就像问题中发布的第二张图片一样 这是一个 ValueEvent 侦听器,而不是子侦听器。 和数据库参考? 对不起,我错过了最后一行...它有效..谢谢您..已接受您的回答..以上是关于如何在 Firebase 中获取直接父键的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 java 从 Firebase 检索新添加的子项的父键
Google App Engine Datastore:如果父键未知,如何通过 ID/名称获取实体?
如何从firebase存储中获取图片,图片的网址在firestore中。