【问题标题】:Is it possible to access a parent doc field over a firestore collectionGroup query是否可以通过 firestore collectionGroup 查询访问父文档字段
【发布时间】:2021-02-25 16:49:33
【问题描述】:

我的问题不是关于在您拥有文档快照时访问父文档的字段。

我正在尝试执行一个必须访问父文档字段的查询,例如,使用以下 NoSQL 结构:

(C) users/
   (D) userId/
       -premium: false
       -random: uuid.v4 string
       (C) privateData/
           (D) userPrivateData/
           -notificationsToken: "9329e48329"
    ...

如果我想运行从非高级用户那里获取 N 个随机通知令牌的计划任务,最简单的方法是执行“collectionGroup”查询,如下所示:

firestore
    .collectionGroup("privateData")
    .where("random", Math.random() < 0.5 ? "<=" : ">=", randomId)
    .where("premium", "==", false)
    .orderBy("random")
    .orderBy("notificationsToken");

但是,“random”和“premium”字段对应于父文档...

是否可以访问 firestore 集合组查询中的父文档字段?

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    不,这是不可能的,where() 子句只能应用于每个 privateData 子集合中的文档。

    一种解决方案是复制子项中的字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 2021-05-11
      相关资源
      最近更新 更多