Запрос Firebase с использованием значения карты, Flutter

#android #firebase #flutter #dart #google-cloud-firestore

#Android #firebase #флаттер #dart #google-облако-firestore

Вопрос:

Я пытаюсь запросить свою коллекцию Firebase, используя значение внутри массива. Я использую arrayContains, а затем передаю значение, как показано в коде, но после запроса оно возвращает длину 0.

 FirebaseFirestore.instance
.collection('chatrooms')
.where('users.0', arrayContains: {'studentid':'1WINXTQdshhn4jLfhMWWaZNNdL32'})
.get();
 

Вот изображение моей базы данных.

Сбор базы данных

Ответ №1:

Это невозможно сделать с помощью array-contains . Для запроса необходимо использовать весь объект student array-containing . Этот запрос пытается найти {'studentid':'1WINXTQdshhn4jLfhMWWaZNNdL32'} объект внутри массива users.0 поля. Подробнее об этом читайте здесь https://firebase.google.com/docs/firestore/query-data/queries#array_membership .