У меня есть список, который содержит идентификаторы документов определенной коллекции «пользователи», и я хочу, чтобы документы присутствовали только в этом списке, и эти документы находятся в коллекции «пользователи», как упоминалось ранее.
Код:
getUsers() async
{
double radius = 0.3;
String field = "GeoPosition";
print(currentUser.point.longitude);
GeoFirePoint center = geo.point(latitude: currentUser.point.latitude, longitude: currentUser.point.longitude);
var collectionRef = Firestore.instance.collection('user_locations').document(currentUser.pincode) .collection('Users_complete_address_and_geopoint');
this.stream = geo.collection(collectionRef: collectionRef).within(center: center, radius: radius, field: field, strictMode: false);
Future<List<certainrangeusers>> users1 = stream.first.then(
(documents) => documents.map((doc) => certainrangeusers(
id: doc['userPhone'],
)
).toList());
users1.then((val) async{
QuerySnapshot snapshot = await Firestore.instance.collection('users').where('id', isEqualTo: val.first.id).getDocuments();
List<User> users = snapshot.documents.map((doc) => User.fromDocument(doc)).toList();
setState(() {
this.users = users;
});
});
}
Структура базы Firebase: Нажмите здесь, чтобы узнать структуру базы Firebase
Код В формате изображения:
Нажмите здесь для изображение
- В оранжевом поле «users1» - это список с идентификаторами документов ... пользователей 10 км пользователей
- В розовом поле мы использовали значение списка ...
- В зеленом поле нам нужно передать идентификаторы документов, представленные в приведенном выше списке ...
Ps: я использую "val.first .id "просто для того, чтобы сначала представить документ, присутствующий в списке ........ Но мне нужно, чтобы каждый документ, присутствующий в этом списке, был отмечен ...