根据参考文档的字段进行查询

时间:2020-05-06 08:38:43

标签: firebase google-cloud-firestore

我有3个收藏

Companies: [{name:'Lamy'}]
Pens : [name:'Safari', company:ref::companies]
Writing Samples :[{title:'Post title', pen:ref::pens }]

我想从特定的笔公司获得所有写作样本。

是否可以根据引用文档中的字段值进行过滤,还是需要重组我的Firestore?

示例

const company = db.collection('companies').doc(form.penCompany);
db.collection('samples').where('pen.company', '==', company)

我的猜测是否定的,我需要重组数据库以包括嵌套在样本中的公司信息。

1 个答案:

答案 0 :(得分:1)

您将需要进行重组。对集合的查询无法引用其他集合的文档-没有类似SQL的联接。查询中的所有内容都必须在同一集合中。这意味着您可能必须在集合之间重复数据。这是使用NoSQL时的常用技术。这就是所谓的“去道德化”。