Вы не найдете никаких примеров в официальной документации Firestore, потому что, к сожалению, нет метода contains()
, который мог бы помочь вам проверить, является ли String отделенной от ссылки, которая является свойством документа.
Однако, если вы хотите получить все документы, которые существуют в коллекции playerinfo
, просто используйте вызов get()
. Не используйте addSnapshotListener()
, если вам не нужно получать данные в режиме реального времени.
Существует решение, в котором вам нужно преобразовать свойство user
в тип String и использовать запрос, который выглядит следующим образом:
Query query = = mFirebaseFirestore.collection("userinfo").whereEqualTo("user", "player/8SLuNWrI09UIuUfNe7ZR/playerinfo");
Но помните, это будет работать, только если свойство user
содержит значение типа String, равное:
player/8SLuNWrI09UIuUfNe7ZR/playerinfo`
и не :
player/8SLuNWrI09UIuUfNe7ZR/playerinfo/qY0D7Vef...
^ ^
Есть еще один способ, которым вы можете решить это. Запросите всю коллекцию, получите все значения свойства user
и добавьте их к List
, преобразовав их из Reference
в String. В конце просто переберите список и используйте метод contains()
для каждого элемента.