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

В моем приложении для Android, если я получу путь к документу, получив значение поля ссылочного типа документа, то как я буду его называть? Потому что ссылочный путь, который я собираюсь получить, будет что-то вроде /Users/OctUsers/1stWeekUsers/OlCvJFfWZeAlcttdlgzz/, а метод получения документа Firestore - что-то вроде FirebaseFirestore.getInstance().collection(collectionPath).document(documentPath).collection(collectionPath).document(documentPath) и так далее. Как я собираюсь перебрать ссылочный путь для получения каждого collectionPath и documentPath для использования в методе Firestore DocumentReferece # get?

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

enter image description here

Ответы [ 2 ]

3 голосов
/ 09 октября 2019

Если вы храните следующую ссылку на документ в базе данных:

/Users/OctUsers/1stWeekUsers/OlCvJFfWZeAlcttdlgzz/

И вы хотите получить это:

FirebaseFirestore.getInstance().collection(collectionPath).document(documentPath).collection(collectionPath).document(documentPath)

Вы можете переписать его так:

FirebaseFirestore.getInstance().document("/Users/OctUsers/1stWeekUsers/OlCvJFfWZeAlcttdlgzz/");

Помните, что наиболее важной частью объекта DocumenetReference является путь строки. Если вы хотите получить это строковое представление, используйте для этого метод DocumentReference getPath () .

Более того, если вам нужно десериализовать этот путь String обратно в DocumentReference объект, просто используйте FirebaseFirestore.getInstance (). документ (путь) .

1 голос
/ 09 октября 2019

Когда вы запрашиваете документ, содержащий поле ссылочного типа, это поле будет отображаться в DocumentSnapshot на клиенте Android как объект типа DocumentReference. Вы можете относиться к этому так же, как к любой другой DocumentReference, которую вы создаете самостоятельно. Вы можете позвонить по номеру get(), чтобы получить указанный документ, как обычно. Вам не нужно ничего делать, чтобы разобрать путь к документу (если вы этого не хотите).

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