У меня есть две коллекции, одна из которых является нормальной коллекцией, а другая содержит documentReference для первой, что я хочу сделать, это дать мне указанный документ c по его ссылке, я нахожу специфику c документ, выполнив поиск по l oop, но есть ли лучший способ сделать это, не получая весь документ из первой коллекции, просто получите единственный, который мне нужен.
static Future<List<author_model>> getTHEauthor(DocumentReference documentReference) async{
String ref = documentReference.documentID;
DocumentReference dReference = articleCollection.document(documentReference.documentID);
List<author_model> author=[];
author_model model ;
final QuerySnapshot querySnapshot = await authors.getDocuments();
List<DocumentSnapshot> result = querySnapshot.documents;
for(int i=0 ; i<result.length ; i++) {
if (result[i].documentID == ref) {
model = new author_model(
result[i]['author_name'], result[i]['author_image'],
result[i]['author_work_exeperience']
, result[i]['autor_education']);
author.add(model);
break;
}
}
// print(author.length);
return author;
}
также я пробовал это, но ничего не дал
var snap = documentReference.get();
author_model m = author_model.map(snap);
print(m.author_name + ": " + m.author_education)
Также пробовал этот запрос
final QuerySnapshot querySnapshot = await authors.where('documentID', isEqualTo:
ref).getDocuments();
но никакого результата, я не знаю как получить только документ с указанием c ссылки. Я не хочу получать весь документ из коллекции авторов,
Кто-нибудь может мне помочь, как запросить и получить только для указанного c документа, пожалуйста?