我有2个数据库。一种是博客文章,另一种是博客文章。现在,我只想从用户关注我的博客文章中检索那些数据(例如我们在任何社交媒体应用程序中所做的事情)。我的博客文章的发布格式为:
以及以下格式的数据库:
我们可以看到,我想从以下获取值(值是userid),并将它们与blogpost中每个帖子中的userId进行比较。如果发现它们相等,则会得到查询并在firebaserecycleradapter中使用该查询。 我知道如何使用firebaserecycleradapter。请告诉我如何获取查询。
答案 0 :(得分:2)
就像@AssetBekbossynov一样,这是最有效的方法,我可以从脑海中思考两个查询。
一个从Following
数据库中找到userId,然后另一个在BlogPosts
数据库中循环和搜索。
我可以在此处为您提供一些示例代码,这些代码可以帮助您精确地编码您的需求:
reference.orderByChild("UserId").equalTo(userIdYouWantToSearch).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exists())
// do what you want
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) { // ToDo: do something for errors
}
)};
另一个您想做的查询将是针对Following
数据库,它可能看起来像这样:
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()){
// retrieve the userId you want
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d(TAG, "onCancelled", databaseError.toException());
}
});