我有一个静态方法,它获取集合中的所有文档。我在创建要返回的这些文档数组时遇到了麻烦。我怎么能这么做?让我们将数组列表称为“所有项”。我的方法是将在for循环中创建的每个项添加到allItems数组列表中,但是当我返回该列表时,该列表为null,android studio会提示我将数组列表设置为最终列表。
public static ArrayList<Item> geAllFromFireStore() {
FirebaseFirestore db = FirebaseFirestore.getInstance();
ArrayList<Item> allItems = new ArrayList<>();
db.collection("Items")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d(TAG, document.getId() + " => " + document.getData());
String name = document.get("name") + "";
String categoryName = document.get("category") + "";
Item item = new Item(name, category);
// I would like to add these items to an array list and return that array list
}
} else {
Log.w(TAG, "Error getting documents.", task.getException());
}
}
});
return allItems;
}
但是当我返回这个列表时,它是空的,android studio会提示我将数组列表设置为最终列表。
将其设置为final并没有什么问题,并且根据该代码,它不可能返回null,但很可能是空的,因为它实际上是在Firebase尝试进行远程数据库查询之前返回的。
这就是异步的问题--在返回结果之前需要等待结果。
public static void getAllFromFireStore(OnCompleteListener<QuerySnapshot> listener) {
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("Items").get().addOnCompleteListener(listener);
}
API.getAllFromFireStore(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
// TODO: get data
}
});
我正在构建javascript服务,我想从“集合名称”和“文档ID数组”的输入中从firestore中获取所有子集合文档详细信息。 请求有效负载调用我的服务: 我需要搜索所有此msgId的所有子集合(所有文档的通用名称)文档。 我的消防仓库结构如下所示 示例: 在这种情况下,我需要获取msgId“11”,“22”的数据,这些数据在firestore中可用,其他值应发送null。你能不能帮你帮忙,不
问题内容: 我的Firestore数据库结构: 现在我想从中获取文件清单。将有一个包含以下数据的列表。我需要它是因为我想制作一个微调器并将这些数据放入微调器中。然后,用户将选择一些文档并下载。 我尝试使用下面的代码: 但是代码只有在我拥有没有文档集合的数据结构时才起作用。在其他情况下,中没有任何文档。 谢谢! 问题答案: 要在中包含所有文档名称的列表,请使用以下代码: 您的logcat中的结果将是
使用go和FireStore创建web应用程序。我遇到了一个奇怪的问题。如果使用NewDoc方法保存数据 我可以使用 现在,当我只想查找博客集合中的所有文档时,这是很棒的。但是我遇到了无法从blogs集合中查询特定blog的问题。我通过查看文档和保存类似的帖子来解决这个问题。 但是,由于我自己创建了docID,所以从整个集合中检索所有文档时使用
我现在有一个firestore,看起来像这样: 我使用的是,我试图获取“报告”集合中的所有文档。 我可以得到一个报告: 但我无法得到整个子集合 这可能吗?我是新手,所以这可能是一个愚蠢的问题。 谢谢 编辑控制台中收到的错误消息是: 我不确定权限,我没有访问权限,但如果是权限问题,我很困惑,我可以从集合中获取一个文档,但找不到获取所有文档的方法
嗨,我从javascript和react-native开始,我花了几个小时试图解决这个问题。有人能告诉我如何从firestore收集处获得所有文件吗? 我一直在尝试这个: 日志1打印所有对象(一个接一个),但日志2没有定义,为什么?
我试图设置一个聊天应用程序,在其中你可以搜索随机的用户交谈。现在,firestore中的数据库结构如下: 集合“users”-文档“userid”-集合“conversations”-文档“conversationid”-字段“partner”,“lastmessage” 其次,我有一个集合“conversations”,其中包含对话中的所有消息。 我现在尝试做的是,当你按下一个按钮时,应用程序将
我正在使用Java开发一个Android应用程序,我使用firestore数据库,我有一个名为用户位置的集合,其结构类似于照片: 分贝 我的问题是,当一个用户改变他的位置或一个新用户进入一个已经存在的位置(其他用户有相同的位置)时,它会创建一个新文档(如在“oran, algerie”中)。当我添加新用户并更新文档时,我想使用,但问题是我无法以正常方式检索根集合的所有文档: 它返回null。我尝试
我想从一个集合中得到所有的文件,然后用它们,得到他们的身份证。这里我的集合如何是用户集合,它只是一个集合和多个文档。我试了一下,但不起作用: 更新