Firestore Query с временной меткой во флаттере - PullRequest
0 голосов
/ 30 марта 2020

Я создаю приложение, в котором мне нужно получить список задач, запланированных на сегодня. Но я не уверен, как написать запрос для него.

Это запрос, который у меня есть сейчас, который дает список задач от текущего времени до бесконечности. но я бы хотел, чтобы задачи имели только сегодняшнюю дату.

  Widget build(BuildContext context) {
    return StreamBuilder<QuerySnapshot>(
      stream: Firestore.instance.collection('tasks').where(
          'uid', isEqualTo: "$uid").where('time', isGreaterThanOrEqualTo: DateTime.now()).snapshots()

1 Ответ

0 голосов
/ 30 марта 2020

Если вам нужны только документы дня, вам нужен запрос, границы которого - начало и конец дня. В Flutter вы можете сделать это следующим образом:

Widget build(BuildContext context) {
    DateTime now = DateTime.now();
    DateTime start = now.subtract(Duration(hours: now.hour, minutes: now.minute, seconds: now.second));
    DateTime end = start.add(Duration(days: 1));
    return StreamBuilder<QuerySnapshot>(
      stream: Firestore.instance.collection('tasks').where(
          'uid', isEqualTo: "$uid").where('time', isGreaterThanOrEqualTo: start).where('time', isLessThanOrEqualTo: end).snapshots()

...