javascript - 是否可以通过 firestore collectionGroup 查询访问父文档字段
问题描述
我的问题不是关于在您拥有文档快照时访问父文档的字段。
我正在尝试执行一个必须访问父文档字段的查询,例如,使用以下 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");
但是,“随机”和“高级”字段对应于父文档......
是否可以访问 firestore collectionGroup 查询中的父文档字段?
解决方案
不,这是不可能的,这些where()
条款只能适用于每个privateData
子集合中的文档。
一种解决方案是复制子项中的字段。
推荐阅读
- azure - 如何将 Azure VM、应用服务和本地计算机连接到同一个 vnet?
- asp.net-core - 使用 WebAPI .Net Core 进行版本控制无法按预期工作
- angular - .NET Core API 捕获错误时缺少 CORS 标头“Access-Control-Allow-Origin”
- r - 选择模型时尝试加快嵌套 if else
- css - 为什么我需要重新加载我的 CSS 才能正确显示它?
- javascript - 如果 str1 字符的一部分可以重新排列以匹配 str2,则返回 true 的最快函数,否则返回 false
- python - Robotframework - 侦听器中的致命错误应该结束套件运行
- python - 是否可以通过`source`将参数传递给GDB执行的python脚本?
- python - 基于 3 个连续条件的 Numpy 输出?
- c# - C# 查找列表中价格最接近 0 的行