Каков наиболее рентабельный метод записи / чтения документов из Firestore? - PullRequest
0 голосов
/ 03 апреля 2019

Firebase Cloud Firestore дает вам ограничения на количество операций записи и чтения (и удаления) документов. Например, план искры (свободный) позволяет 50 000 операций чтения и 20 000 операций записи в день. Оценка количества операций записи и чтения, очевидно, важна при разработке приложения, так как вы захотите узнать возможные расходы.

Часть этой оценки точно знает, что считать документом чтение / запись. Эта часть не совсем понятна при поиске в Интернете.

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

Точно так же, не имеет ли смысла читать документ один раз в начале сеанса, получать значения всех полей, а не читать их, когда необходимо каждое из них?

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

Все это зависит от того, что считать записью / чтением документа (записывает ли 20 полей в одном и том же документе за один проход как 20 записей?).

1 Ответ

2 голосов
/ 04 апреля 2019

Стоимость операции записи не влияет на количество полей, которые вы пишете.Он основан исключительно на количестве вызовов функции update () или set () для ссылки на документ, независимо от того, независимо от того, в транзакции или в пакете.

Если вы решите написать каждое N полей, используя Nотдельные обновления, тогда с вас будет взиматься N пишет.Если вы решите написать N полей, используя 1 обновление, то с вас будет взиматься плата за 1 запись.

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