显示来自Firestore的两个属性的数据

时间:2020-07-01 02:32:36

标签: firebase flutter google-cloud-firestore

我想显示满足以下两个条件的数据:

  • “ done”属性为false,并且
  • 如果“ done”为true,则仅显示今天完成的项目(serverTimeStamp)

我该如何实现这一目标:

当前,我有以下内容仅返回'done'为假的项目。

yield* userDoc.todoCollection
        .orderBy('serverTimeStamp', descending: true)
        .snapshots()
        .map(
          (snapshot) => snapshot.documents
              .map((doc) => TodoDto.fromFirestore(doc).toDomain()),
        )
        .map(
          (todos) => right<TodoFailure, KtList<TodoItem>>(
            todos
                .where(
                  (todo) =>
                      !todo.done,
                )
                .toImmutableList(),
          ),
        )

1 个答案:

答案 0 :(得分:0)

where函数中尝试以下条件:

!todo.done || (todo.done && (todo.time as DateTime).isAfter(DateTime(DateTime.now().year,DateTime.now().month,DateTime.now().day)))