Который является более надежным, чтобы использовать представление объекта или String в Firestore - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть коллекция продуктов Firebase Firestore (125 и растет).Каждый документ о продукте имеет около 18 свойств (название, цена, запас и т. Д.).Я могу получить все документы успешно, используя:

val product = document.toObject(Product::class.java)

, но я могу использовать:

val name = document.getString("name")

Что больше рекомендуется?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

При разработке мне часто бывает удобнее использовать методы прямого доступа класса Document для получения полей из документа.В течение этого времени я все еще выясняю, какие точные поля и типы есть у каждой сущности.

Если / когда все документы имеют одинаковые поля, а ваша модель данных достаточно стабильна, я бы рекомендовал определить Product класс для моделирования полей из документа в коде Java / Kotlin.

0 голосов
/ 22 ноября 2018

В соответствии с вашей фактической структурой, где у вас есть только 125 предметов, вы можете использовать каждый, который вы хотите.Если ваша коллекция вырастет настолько, что будет содержать очень большое количество документов, могут быть причины, по которым вам не следует использовать первый подход.Cloud Firestore использует отражение, поэтому в случае очень большого количества документов ваше приложение может стать немного медленнее.

Более того, если вам нужно отобразить только одно или два свойства, зачем получать их все?Поэтому, если вам действительно нужен только набор полей, просто используйте второй подход.

Так что даже если мы говорим о небольшом наборе данных (возможно, это не ваш случай), но я видел данные, которые не были отформатированыдолжным образом, как того хочет разработчик.

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