В соответствии с этим ответом ссылки Firestore нельзя использовать для запросов, похожих на JOIN, т. Е. Для получения ссылочного документа и ссылочного документа в одном обращении к базе данных. Это может быть проблемой с производительностью, поскольку затраты на сетевые задержки применяются для каждого обхода базы данных.
Задержка в сети является проблемой, только если вы не находитесь близко к центру обработки данных, что означает, что если вы выполняете соединение на стороне сервера, т. Е. В центре данных Google, где работает Firestore, то это не должно быть проблемой.
Можем ли мы использовать Firebase Functions для реализации этой функции в общем виде? Я имею в виду сервис, реализованный в Firebase Functions, который находится между клиентом и базой данных. Большинство запросов просто передаются в базу данных (where
, orderBy
, limit
и т. Д. Все еще должны быть возможны), но должен быть дополнительный параметр запроса populate: true
. Если этот параметр присутствует и для него задано значение true, ссылочные документы также возвращаются.
Возможно, также необходимо указать , какие документы должны быть populate
d.