Я не уверен, правильно ли я понимаю, но я предполагаю, что вы хотите получить документ с определенным значением поля uid
, не используя идентификатор документа.
Эта конкретная ошибка связана с общей функцией Firestore , что каждый документ должен быть в коллекции, а не в документе. Таким образом, значения path
для документов (также вложенных) всегда проверяются, если число сегментов (разделенное на /
) является четным. collection1/doc1/collection2/doc2/collection3/doc3
В результате в вашем коде у нас есть 3 сегмента (например, credits/uid/<uid_value>
), так что это ошибка.
Я не очень знаком с самим angularFire2, но я это сделал в JS. Подход обычно заключается в том, чтобы запросить коллекцию, а затем использовать метод для результатов, который в classi c JS возвращает Query
объект, для которого могут использоваться те же методы, что и в CollectionReference
(что расширяет 'Query', кстати - ссылка 1 ).
Комбинируя этот подход с этими ссылками: запрос и коллекция Я предлагаю следующее решение:
this.afs.collection('credits', ref => ref.where('uid', '==', <uid_value>)).valueChanges()
Если uid_value
будет уникальным, вы должны получить до c.
К сожалению, у меня нет площадки для тестирования решения, поэтому, пожалуйста, дайте мне знать, как оно работает - или если будут какие-либо дополнительные ошибки.
Надеюсь, это поможет! Удачи!