firestore:代表一种关系

时间:2018-02-05 07:27:44

标签: firebase google-cloud-firestore

在firestore中,我有一个叫做东西的集合。

每个thing都归用户所有 每个thing都可以由所有者与其他指定用户共享。

thing的结构类似于

{
    id: "thing01",
    sharedWith: {
        "user1": true,
        "user2": true,
    },
    dtCreated: 3458973948
}

当我想要检索与user1共享的所有thing个对象时,按dtCreated desc排序,

如果不必在things.thing.user1上创建索引,我就无法做到这一点 即对于每个唯一的用户标识,我必须在事物集合上创建索引。

显然这不切实际。文档讨论了使用全文搜索,但这似乎不是我们想要使用全文搜索的问题。

我应该采用不同的方式构建数据以实现我想要的目标吗? 对于这个,firestore是否是错误的技术选择? 它非常适合存储thing个对象本身。

----更新----

这个问题不是Firestore: Working with nested single queries的真实副本,因为提供的答案对OP的背景非常具体。

1 个答案:

答案 0 :(得分:-1)

还有另一种方式。您可以创建另一个节点并在所有选定的用户中发布相同的ID,如下面的结构:

enter image description here