【发布时间】:2020-09-18 16:21:06
【问题描述】:
我正在尝试使用游标进行带时间戳的分页,但它在每次调用数据库时都返回相同的数据。
这样我把它保存在firestore中
const xDate = admin.firestore.Timestamp.now();
要使用光标,我会这样做
let consulta = db.collection('facebook_spa');
consulta = consulta.select('xId');
consulta = consulta.where('xEstate', '==', true);
consulta= consulta.orderBy('xDate', 'desc');
consulta= consulta.startAfter(xDate);
在 console.log() 中,它显示时间戳采用以下形式
{ 10:59:40
_seconds: 1600439396,
_nanoseconds: 705000000
}
试试这个方法。这里我想按日期分页,因为我试过按id来做,但是需要按日期分组
let consulta = db.collection('facebook_spa');
consulta = consulta.select('xId');
consulta = consulta.where('xEstate', '==', true);
consulta= consulta.orderBy('xDate', 'desc');
consulta= consulta.orderBy('xId', 'desc');
consulta= consulta.startAfter('', xId);
我想按日期降序显示数据的 ID,但使用光标分页,使用 xDate 或 xId 字段或两者(xDate 和 xId)。 xDate 与firestore“时间戳”一起保存,xId 是一个字段。换句话说,将所有最新的数据显示到最近的数据并进行分页。
这两种方式都无法正确完成分页
感谢您的帮助
【问题讨论】:
-
您希望查询产生什么数据?请编辑问题以显示您正在使用的实际数据。
-
@DougStevenson 嗨。我想按日期降序显示数据的 ID,但使用光标分页,使用 xDate 或 xId 字段或两者(xDate 和 xId)。 xDate 与firestore“时间戳”一起保存,xId 是一个字段。换句话说,将所有最新的数据显示到最近的数据并进行分页。问候
标签: javascript node.js firebase google-cloud-firestore