addSnapshotListener swift firestore Поведение - PullRequest
1 голос
/ 22 июня 2019

У меня есть документ в облачном хранилище, к которому я прислушиваюсь к обновлениям. Имеет 2 поля, описание поля и поле для картинки. Картинка примерно 0,2 мб, а описание несколько слов. Я хотел знать, что произойдет, если я внесу изменения в описание в документе, я хотел знать, действительно ли addSnapshotListener загружает свежую новую копию документа или только поле, которое было изменено.

Я действительно вижу, смотря на то, сколько данных загружается в XCode, загружается новая свежая копия документа.

Это вообще неэффективно, поскольку поле изображения редко изменяется, в моем приложении может измениться только описание.

Есть ли способ оптимизировать это?

1 Ответ

2 голосов
/ 22 июня 2019

Есть ли способ оптимизировать это?

Да! Не делай этого.

Firestore (и база данных в реальном времени) не предназначена для хранения изображений или больших наборов данных по полю.

Вы должны изучить Хранилище и сохранить ссылку (URL) на предмет, хранящийся в хранилище в вашей базе Firebase.

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

Используя хранилище, если вам нужно обновить или изменить поле в Firestore, вы работаете только с небольшим объемом данных, а не с целым изображением.

ответить на вопрос; если вы читаете документ из Firebase, он читает документ и его дочерние данные.

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

https://firebase.google.com/docs/storage/ios/upload-files

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