Я пытаюсь создать запрос, который выбирает только те документы, ссылка на которые равна заданной ссылке, используя Java для разработки под Android. Документ, которому он соответствует, содержит ссылку на путь "/ users / someUser". Я создаю ссылку так:
DocumentReference ref = mDatabase.document("users/someUser");
Я также пробовал:
DocumentReference ref = mDatabase.document("/users/someUser");
Тогда запрос:
Query query = mDatabase.collection("myCollection").whereEqualTo("refField", ref).limit(10);
Однако, когда я запускаю запрос и проверяю task.isSuccessful()
в методе onComplete, он не проходит, т.е. не работает, тогда как когда я удаляю .whereEqualTo()
, он проходит, а результат задачи не пустой. Как правильно использовать .whereEqualTo()
для проверки всех документов, содержащих конкретные ссылки?
Примером документа, который должен соответствовать моему запросу, будет:
/myCollection/GDpojS5koac2C7YlIqxS
, который содержит поле:
refField: /users/someUser
(значение типа ссылки)
И пример документа, который не должен соответствовать моему запросу:
/myCollection/J5ZcVAMYU1nI5XZmh6Bv
, который содержит поле:
refField: /users/wrongUser
(значение типа ссылки)