URL-адрес индекса Firestore не сгенерирован для arrayContains в группе коллекций?

#google-cloud-firestore

#google-cloud-firestore

Вопрос:

snapshot1 использует и одну коллекцию и snapshot2 использует группу коллекций

 final snapshot1 = await FirebaseFirestore.instance
    .collection('users')
    .doc('115309562732908784445')
    .collection('user_activities')
    .where('userGroupIDs', arrayContains: 'IIPwobuR3YLrOoLH3TeS')
    .get();
final snapshot2 = await FirebaseFirestore.instance
    .collectionGroup('user_activities')
    .where('userGroupIDs', arrayContains: 'IIPwobuR3YLrOoLH3TeS')
    .get();
 

snapshot1 генерирует нормально, snapshot2 выбрасывая

 Exception has occurred.
FirebaseException ([cloud_firestore/failed-precondition] Operation was rejected because the system is 
not in a state required for the operation's execution. If performing a query, ensure it has been 
indexed via the Firebase console.)
 

но я не получаю автоматически генерируемый URL-адрес. Приведенное выше сообщение перекрывало окно редактора VSCode. Я не видел никаких сообщений об URL-адресах ни в консоли отладки, ни в журналах Firestore.

Что-то не так с моим запросом? Или, может быть, иногда вам приходится создавать их вручную?

Комментарии:

1. Можете ли вы добавить свое редактирование в качестве ответа?, это может помочь другим

Ответ №1:

Я построил индекс вручную, и он работал нормально. Было просто сделать после блога Тодда. В качестве теста я удалил пару своих существующих индексов, и отладчик правильно предоставил мне URL-адрес для восстановления. Не уверен, почему это не понравилось.