Выполнить код на стороне клиента против google-cloud-function - PullRequest
0 голосов
/ 20 апреля 2020

Я нахожусь в ситуации необходимости выполнять некоторые записи в мою базу данных, которые имеют довольно много связей с различными коллекциями, а также включают загрузку файлов в хранилище Firebase.

В этот момент я спросил себя , должен ли мой клиент заботиться о согласованности данных всего моего приложения? Потому что на самом деле мой клиент хочет выполнять только "простую" операцию, хотя на самом деле это включает в себя несколько записей в хранилище и загрузку файлов в firebase storage.

Мой вопрос: Должен ли я в этой ситуации использовать функцию firestore или продолжить выполнение этого кода на моем клиенте?

Независимо от ответа, я бы также хотелось бы знать следующее:

Для запуска нескольких записей в базу данных рекомендуется использовать пакетные записи или, возможно, транзакции (в зависимости от проблемы). Есть ли способ выполнить эти пакетные записи или транзакции вместе с загрузкой файлов?

Заранее спасибо.

1 Ответ

0 голосов
/ 20 апреля 2020

Я не думаю, что есть «правильный» способ сделать это. У пожарного магазина есть библиотека на стороне клиента, так что вы можете использовать ее. Если вы намереваетесь создать API REST / GraphQl, вам, очевидно, следует использовать облачные функции.

Если нет, то это действительно зависит от данных. Если вам нужно выполнить много преобразований или запустить более сложную логику c, чтобы определить, какие данные для чтения / записи вы можете рассмотреть, используя облачные функции на стороне клиента, потому что вы получите некоторые преимущества в производительности и держите ваш передний и внутренний логи c разделенными. Опять же, нет правильного ответа, это именно то, как я думаю, выбирая между клиентской и серверной сторонами для выполнения запросов.

Кроме того, существуют различия между клиентским и серверным API. Вы можете проверить эту статью: https://medium.com/firebase-developers/should-i-query-my-firebase-database-directly-or-use-cloud-functions-fbb3cd14118c

Что касается вашего второго вопроса, я не уверен, что вы подразумеваете под загрузкой файлов,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...