В настоящее время я работаю над приложением Flutter, использующим Firebase Cloud Firestore непосредственно с клиента.
На самом деле у меня проблема с правилом чтения моей базы данных Firebase.
На самом деле я хотел бы добавить свойство, которое будет считывать только данные, возраст которых менее 5 минут.
Итак,
Это мои текущие правила чтения и записи:
service cloud.firestore {
match /databases/{database}/documents {
match /locations/{allDocuments=**} {
allow read: if request.time.toMillis() >=
resource.data.timestamp;
allow write: if true;
}
}
}
Это функция, в которой я читаю данные в своем коде флаттера:
void _updateMarkers(List<DocumentSnapshot> documentList) {
print(documentList);
markers.clear();
documentList.forEach(
(DocumentSnapshot document) {
final String markerIdVal = 'marker_id_$_markerIdCounter';
_markerIdCounter++;
final MarkerId markerId = MarkerId(markerIdVal);
setState(() {
GeoPoint pos = document.data['position']['geopoint'];
var marker = Marker(
markerId: markerId,
position: LatLng(pos.latitude, pos.longitude),
icon: BitmapDescriptor.fromAsset('assets/ticket_point.png'),
infoWindow:
InfoWindow(title: 'Ici à :', snippet: document.data['time']));
markers[markerId] = marker;
});
},
);
Я не знаю, как мне поступить, я много искал по другим темам, но не получил реальных ответов на свой вопрос.
Заранее спасибо!