Можно ли снова запросить поле объекта в массиве объектов в Firestore? - PullRequest
0 голосов
/ 20 сентября 2018

Есть несколько данных в Firestore, которые выглядят так:

Array of objects

Мой запрос:

db().collection("contactLists").whereArrayContains("contacts.id", "+911122334455");

не возвращает совпадений.Возможен ли такой запрос в Firestore?Ответ @ 1012 * @ DougStevenson предполагает, что это было невозможно несколько месяцев назад.Это все еще так?Возможно, я неправильно определяю запрос?

Единственная альтернатива, которую я могу придумать, - хранить телефонные номера в виде плоского массива (т. Е. Массива / List из String s), чтобы сделать их доступными для поиска..

1 Ответ

0 голосов
/ 20 сентября 2018

При запросах к массиву вы должны вызвать имя поля документа, которое само по себе является типом массива.Вы не можете вызвать имя поля объекта, содержащегося в массиве.

Вам также необходимо искать точное содержимое элементов массива во всей их полноте, а не только отдельные свойства объектов, хранящихся вмассив.

Если вам нужно искать документы по какой-то строке в массиве, массив должен содержать только строки для поиска.То, что у тебя сейчас, не сработает.

...