获取文档中的所有集合

Posted

技术标签:

【中文标题】获取文档中的所有集合【英文标题】:Get all the collection in document 【发布时间】:2020-06-10 11:52:51 【问题描述】:

我在 Firebase 数据中有以下结构

订单 -> OrderID -> LocationHistory -> LocationHistoryID -> FieldsData

Orders 和 LocationHistory 是常量,而 OrderID ,LocationHistoryID 是文档 ID

我想知道是否可以生成查询以获取扩展 FirestoreReactiveRepository 的存储库中订单的所有 LocationHistory 其余的应该是 /Orders/10002/LocationHistory/

Belwo 是我目前使用的代码

import org.springframework.cloud.gcp.data.firestore.Document;

import com.google.cloud.firestore.annotation.DocumentId;
import com.google.cloud.firestore.annotation.PropertyName;

import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
@Document(collectionName = "Orders/10002/LocationHistory")
public class LocationHistory

    @DocumentId
    private String id;

    private String lat;

    @PropertyName("long")
    private String longitude;


【问题讨论】:

【参考方案1】:

由于LocationHistoryOrders 的子集合,您应该检索将包含LocationHistoryOrder

@Setter
@Getter
@Document(collectionName = "Orders")
public class Order

    @DocumentId
    private String id;

    private List<LocationHistory> locationHistory;


@Setter
@Getter
public class LocationHistory

    @DocumentId
    private String id;

    private String lat;

    @PropertyName("long")
    private String longitude;


【讨论】:

请查看***.com/questions/60411568/…了解详情,我已在此处附上图片 我添加了一个示例映射。我希望这会有所帮助。 我得到 java.util.NoSuchElementException: 按 id 查询时不存在值 这可能是因为我在LocationHistory 上错过了@DocumentId。请重试。 仍然遇到同样的错误我创建了一个 repo github.com/haiderali22/spring-firebase-query-app

以上是关于获取文档中的所有集合的主要内容,如果未能解决你的问题,请参考以下文章

从其他特定集合中获取文档计数颤振火力基地

如何从 Firestore 集合中获取所有文档并将它们返回到数组列表中? [复制]

在不循环的情况下查询 Firestore 集合中的所有文档

从嵌套在Firestore中的文档中的集合中获取数据的最佳方法是什么?

从 Firestore 的一个集合中获取所有文档

使用 Pymongo 获取集合的所有文档