我在firestore数据库中有两个集合,第一个是所有文档的列表(BlockList),第二个是用户的。当用户书签在应用程序的RecycerView上发布时,将文档的id和时间戳发送到Users Collection下的子Collection(收藏夹)。
我从主集合(BlockList)中检索基于此ID的文档列表,但我希望根据每个用户的时间戳来排列它们,所以我尝试在将它们添加到Arraylist并记录列表之前按时间戳排序,我得到了正确的结果。但是RecycerView仍然按文档ID升序检索它们!
firebaseFirestore.collection("Users")
.document(userId).collection("Favorites").orderBy("timestamp", Query.Direction.DESCENDING).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
List<String> list = new ArrayList<>();
for (QueryDocumentSnapshot document : task.getResult()) {
list.add(document.getId());
}
Log.d(TAG, list.toString());
if (list.size() != 0){
blockReffav = firebaseFirestore.collection("BlockList")
.whereIn(FieldPath.documentId(), list);
blockReffav.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()){
onFirestoreTaskComplete.blockListDataAdded(task.getResult().toObjects(BlockListModel.class));
} else {
onFirestoreTaskComplete.onError(task.getException());
}
}
});
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
给定当前检索文档的方式:
blockReffav = firebaseFirestore.collection("BlockList")
.whereIn(FieldPath.documentId(), list);
在此查询中,无法指定列表中ID的顺序,因此您将按照文档ID的(默认)顺序重新获得它们。
我看到两个选择:
我在片段中有一个回收器来显示firestore中集合中的文档,问题是,它只从文档中检索某些字段,看起来它忽略了模型类中的其他一些Setter字段,这是我得到的错误: W/Firestore:(0.6.6-dev)[zzko]:在com类中找不到sabado的setter/field。实例denilsondasilva。iasdmt。com。实例denilsondasilva。com。实例denil
我如何删除一个特定的文档中的一个集合在fiRecovery使用反应? 我在这里和谷歌上看了看,但我没有发现任何内在相关的东西。 我只是设法从我的集合中删除索引[0]的文档。 这状态idDoc接收所有id文档。 如果我只是传递. doc(idDoc),我会得到以下错误: Firebase Error: Function Collection Reference.doc()要求它的第一个参数是非空字符
我正在尝试从cloud Firestore的Flutter中的以下路径获取数据,我有以下结构 followers/{currentuser}/userfollower/{user_id} 用户/user_id/user_details 我正在尝试获取当前用户的所有关注者的详细信息。有人能帮忙吗? 我能得到第一部分是因为 我不知道如何循环通过所有id从用户集合中获取数据。我尝试了以下代码,但没有成功
在第一个中,我有“alreadyloaded”用户ID, 在第二个中,我有所有的用户ID, 如何在FireStore中将第一个元素从第二个元素中排除?
我正试图填充一个旋转器,但由于某些原因,当试图通过对象列表时,我得到了一个错误。请看一下:
这只适用于第一个字母“j”,只要我加上“ja”(例如,我仍然显示所有的“jonathan”)