Как выполнить запрос в строковом поле Firestore для сопоставления с несколькими значениями?

# #firebase #flutter #google-cloud-firestore

Вопрос:

У меня есть коллекция в Firestore, в которой есть поле status , которое либо «ЗАВЕРШЕНО», либо «НЕПОЛНО», либо «ОТЛОЖЕНО».

Как бы я выполнил запрос, который возвращает только документы, соответствующие «ПОЛНЫМ» и «НЕПОЛНЫМ»?

   FirebaseFirestore.instance.collection('tasks')
    .where('status', isEqualTo: 'COMPLETE')
    .where('status', isEqualTo: 'INCOMPLETE');
 

Ответ №1:

Вы ищете whereIn оператора, который будет извлекать документы, в которых указанное поле (в данном случае status ) содержит одно из значений, указанных в переданном массиве/списке:

 FirebaseFirestore.instance.collection('tasks').where('status', whereIn: ['COMPLETE','INCOMPLETE']);