我有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)
我的猜测是否定的,我需要重组数据库以包括嵌套在样本中的公司信息。
答案 0 :(得分:1)
您将需要进行重组。对集合的查询无法引用其他集合的文档-没有类似SQL的联接。查询中的所有内容都必须在同一集合中。这意味着您可能必须在集合之间重复数据。这是使用NoSQL时的常用技术。这就是所谓的“去道德化”。