当前位置: 首页 > 知识库问答 >
问题:

如何使用spring数据从firestore的子集合中获取文档

叶鸿
2023-03-14

如何使用Spring FirestoreReactiveRepository从子集合中获取文档?

问题是:如何动态地将子集合名称或路径指定给@Document annotation?

我的firestore系列:(城市是一级系列,公寓是本系列的子系列)

cities - nyc (id)- |- name: New York City
                   |- country: USA
                   └ apartments - part_avenue (document id)
                                ├ name: Park Avenue
                                └ zip: 10022
                                - plaza (document id)
                                ├ name: Plaza Riverhouse 
                                └ zip: 10132

波乔市

@Document(collectionName = "cities")
public class City {

  @DocumentId
  private String id;
  private String name;
  private String country;
  private List<Apartment> apartments;
}

POJO公寓是:

@Document(collectionName = "apartments")
public class Apartment {

  @DocumentId
  private String id;
  private String name;
  private Integer zip;
}

从城市收集中获取数据的CityRepository

public interface CityRepository extends FirestoreReactiveRepository<City> {

}

调用findById(nyc)时,公寓返回空值。我想在城市对象中填充子集合。

嗨,德米特,

在给定的示例中,宠物作为用户对象(集合)的一部分存储,但我想将宠物存储在用户集合下的一个单独的子集合中。

实际问题是宠物应该是子集合,如下所示:因此,如果您可以提供一个示例将宠物存储为子集合,然后如何检索它,这将是很有帮助的。

共有1个答案

叶举
2023-03-14

这应该行得通。看看这个示例,它也有类似的功能。你可以运行它,看看它是否适合你(它肯定适合我)。

一个潜在的问题是——你在城市课上错过了公共设置者吗?他们是转换正常工作所必需的。

如果这没有帮助,您能否创建一个最小的应用程序来复制该问题(可能在github上),以便我可以仔细查看?

 类似资料:
  • 在第一个屏幕截图中,集合用户中有许多文档。每个文档都包含进一步的集合jobPost,该集合包含进一步的文档及其元数据。 我在这里想要的是去收集用户的每个文档和进一步的子收集jobPost并获取所有文档。假设首先它应该转到集合用户中的文档1,在文档1中它应该获取子集合jobPost中的所有文档,然后它应该转到集合用户的第二个文档,然后获取子集合jobPost中的所有文档,等等。

  • 我一直在从firestore的子集合中获取数据。我在下面附上我的代码脚本以供参考。 现在我从特定的子集合中获取数据。使用此查询行 其工作正常,并返回数据。 但我想从组文档中获取所有数据。 下面的链接附上了我的数据库图片。 Firestore数据库映像

  • 问题内容: 我想从Firebase Firestore数据库获取数据。我有一个名为user的集合,每个用户都有一些相同类型的对象(My Java自定义对象)的集合。我想在创建我的活动时用这些对象填充ArrayList。 在onCreate()中: 调用以获取项目列表的方法: 问题答案: 该操作返回a ,这意味着它是一个 异步操作 。调用仅启动操作,它不等待操作完成,因此您必须添加成功和失败侦听器。

  • 我现在有一个firestore,看起来像这样: 我使用的是,我试图获取“报告”集合中的所有文档。 我可以得到一个报告: 但我无法得到整个子集合 这可能吗?我是新手,所以这可能是一个愚蠢的问题。 谢谢 编辑控制台中收到的错误消息是: 我不确定权限,我没有访问权限,但如果是权限问题,我很困惑,我可以从集合中获取一个文档,但找不到获取所有文档的方法

  • 我正在构建javascript服务,我想从“集合名称”和“文档ID数组”的输入中从firestore中获取所有子集合文档详细信息。 请求有效负载调用我的服务: 我需要搜索所有此msgId的所有子集合(所有文档的通用名称)文档。 我的消防仓库结构如下所示 示例: 在这种情况下,我需要获取msgId“11”,“22”的数据,这些数据在firestore中可用,其他值应发送null。你能不能帮你帮忙,不

  • 我正在使用Java开发一个Android应用程序,我使用firestore数据库,我有一个名为用户位置的集合,其结构类似于照片: 分贝 我的问题是,当一个用户改变他的位置或一个新用户进入一个已经存在的位置(其他用户有相同的位置)时,它会创建一个新文档(如在“oran, algerie”中)。当我添加新用户并更新文档时,我想使用,但问题是我无法以正常方式检索根集合的所有文档: 它返回null。我尝试