Запрос на основе поля указанного документа - PullRequest
0 голосов
/ 06 мая 2020

У меня есть 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 Ответ

1 голос
/ 06 мая 2020

Вам потребуется реструктуризация. Запрос к коллекции не может ссылаться на документы из других коллекций - объединений, подобных SQL, не существует. Все в запросе должно быть в одной коллекции. Это означает, что вам, возможно, придется дублировать данные между коллекциями. Это обычная техника при работе с № SQL. Это называется «деномрализация».

...