【发布时间】:2020-10-15 17:31:11
【问题描述】:
我在 Firestore 中有一个具有以下结构的数据库:
users/{用户文档}/requests/{请求文档}
编辑:我添加了显示数据的 firebase 控制台的屏幕截图。有点难看,但您可以看出用户的记录以及请求存在。您还应该能够看到“路径”。我希望这会有所帮助。
我需要查询特定用户的 requests 集合(所以这不是 CollectionGroup 的事情)。我正在使用 Angular Firebase 并尝试以下操作
var ref = db.collection("users").doc("0g0ujmsgdTa7NgaJPUV5ULjumIV2").collection("requests")
var result = await ref.where("to","==","frank").get();
console.log(result.size);
这将返回零记录的结果(其中已确认用户文档的存在(那个长字符串)并且请求集合中的多个文档包含设置为“坦率”的字段“to”。
从各方面来说,这应该可行。我尝试了许多其他查询,例如拉下请求集合的所有记录(意味着请求集合上的 get() ),并且它有效。我已经尝试过对用户集合(使用与用户相关的数据)进行类似查询,并且效果很好。
有什么我可以尝试解决为什么会发生这种情况的吗?
【问题讨论】:
-
由于我们看不到您数据库中的数据,因此我们不知道您是否在进行实际上应该返回任何内容的查询。请编辑问题以更详细地解释您对此查询的确切期望,并显示应匹配的文档示例。数据截图会有所帮助。
-
这应该返回 3 个文档。该用户大约有 8,800 个请求文档,但只有 3 个将“to”设置为“frank”
标签: javascript angular firebase google-cloud-firestore