我正在按时间戳查询文档,它返回一个空数组。但是,当我使用"=="时它有效,例如:.where('date', '==',timestamp),并在我使用'>='或'<='时返回空数组。我也尝试将时间戳转换为日期对象和字符串,但没有成功。注意:firestore 中的日期字段是Timestamp类型。我正在查询集合中日期大于“2018-08-03”的文档。下面是交易集合(左)和文档(右)的图片,它们应该是返回的文档数组的一部分,因为日期大于“2018-08-03”下面是我的代码。 const firstDay = new Date('2018-08-03'); const timestamp1 = admin.firestore.Timestamp.fromDate(firstDay); const trans = []; const docRef = db.collection('Users').doc(uid).collection('transactions').where('item_id', '==', item_id) .where('date', '>=', timestamp1); await docRef.get() .then((snapshot) => { snapshot.forEach((doc) => { trans.push({ transaction_id: doc.id, transaction: doc.data() }); }); }) .catch(err => new Error('cannot get the documents', err));预期结果:应该是一个交易日期大于上面指定的数组。实际结果:空数组。由于它为相等==工作,我认为>=和<=会工作。我在这里缺少什么吗?
添加回答
举报
0/150
提交
取消