Java 如何在Firestore中查询文档引用?
我是firebase Firestore的新手,当我试图用Firestore编写此代码时,遇到了一个问题Java 如何在Firestore中查询文档引用?,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我是firebase Firestore的新手,当我试图用Firestore编写此代码时,遇到了一个问题 DatabaseReference mDisplayData = FirebaseDatabase.getInstance().getReference().child("Users").child(postKey); com.google.firebase.database.Query firstQuery = mDisplayData.limitToFir
DatabaseReference mDisplayData = FirebaseDatabase.getInstance().getReference().child("Users").child(postKey);
com.google.firebase.database.Query firstQuery = mDisplayData.limitToFirst(20);
firstQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()){
String nameData = dataSnapshot.child("name").getValue().toString();
String statusData = dataSnapshot.child("status").getValue().toString();
String imageData = dataSnapshot.child("thumb_image").getValue().toString();
userViewHolder.setDetails(getApplicationContext(),nameData,statusData,imageData);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
问题出在这一行代码中:
Query firstQuery = firebaseFirestore.collection("Users").document(postKey).collection(null);
我想做的是创建一个firestore查询,但我只想在postkey引用中停止不可能的事情我该怎么做。
请提供帮助并感谢您。以下代码行中的firstQuery:
Query firstQuery = firebaseFirestore.collection("Users").document(postKey).collection(null);
属于Firestore查询类型,而不是Firebase实时数据库查询类型。因此,您无法在这样的对象上调用addListenerForSingleValueEvent。实际上,您要做的是使用代码在Firestore查询中从Firebase实时数据库获取数据,这显然是不可能的
要解决这个问题,您需要对firstQuery对象使用get调用,然后附加一个侦听器。但首先,我建议您阅读有关的官方文档。是的,是的,我知道这里的查询是firebase.firestore查询,而不是数据库。这不是问题所在。问题是如何使用firestore.query仅获取postkey。谢谢您的回答。使用您共享的代码,您将永远无法从Firestore数据库中获取任何信息。分享你的数据库结构,并请指出你想要得到什么。还没有,对不起,我没有看到你的问题,我想我必须改变我的数据库结构来解决这个问题。你认为我的回答对你有帮助吗?