This is how my firebase firestore data look like
You can see that I have the person data field which is a reference type.
And this is how I retrieve data from my flutter dart,
Query<Map<String, dynamic>> persons = FirebaseFirestore.instance
.collection('fl_content')
.where('_fl_meta_.schema', isEqualTo: 'talks');
This query can get only the parent level of data, but not person's detail values.
In person, I have fields like Name, Age, PhotoUrl.
How can I get and populate those values together?
The result I want is
Result
------
id: "N48xxxxx"
saidWhat: 'HiThere'
Name: 'PersonName'
Age: 30
PhotoUrl: 'url'
I used Flamelink for backend firebase cms.

A bit beside the point of your question, but I would recommend using sub collections (https://firebase.google.com/docs/firestore/data-model) for the person's data, as you are going to make your life harder by mixing the document "types" in the fl_content collection. You'll also want to be careful not to use the reference as a foreign key
That being said, see below a potential solution to answer your question.
If your goal is only to get read data, you can just map trigger the call to Firestone from the reference:
(didn't test, but the idea is there). This one makes sense as it is only fetching the persons you need, BUT it is expensive in terms of http calls and Firestone roundtrips.
An other option, would be to fetch all talks, and all persons, and map them together. You might be fetching unused data which is a bit of a bad practice, but it will be less expensive than the first option (I assumed that your
schemawould bepersons:(also didn't test, but the idea is also here ;) )