将Firebase中的StartAt与Flutter时间戳一起使用

时间:2019-03-06 14:21:24

标签: firebase dart flutter google-cloud-firestore

我正在使用时间戳属性在Firestore上保存一些帖子,然后查询按时间戳排序的帖子。我正在尝试创建一个“ loadMore”功能,然后在用户滚动到底部并加载更多帖子时起作用。

我通过这种方式保存帖子:

Firestore.instance
  .collection('posts')
  .add(<String, dynamic> {
     'content': 'content,
     'likes': 0,
     'comments': 0,
     'timestamp': DateTime.now(),
   })

并尝试通过这种方式进行查询:

Firestore.instance
  .collection('posts')
  .orderBy('timestamp', descending: true)
  .startAfter(
    []..add(posts.last.timestamp)
  )
  ..limit(5)

但是,它一直忽略“ startAfter”,并向我返回一个列表,该列表以集合的第一个元素开头,而不是下一个元素。

希望使用这种类型的查询来获取帮助:)

1 个答案:

答案 0 :(得分:1)

将DateTime转换为Unix日期时间

'timestamp': DateTime.now().toUtc().millisecondsSinceEpoch