我正在尝试查询Firestore数据库以进行收集并按日期进行过滤。
我有一个Timestamp字段,当一个名为“ specificDate”的字段等于now()时,我需要获取结果。

app.get('/execute',  async(req, res, next) => {

  const snaps = await db.collection('notifications').where("specificDate", "==", new Date()).get()

  const results= [];
  snaps.forEach(snap => results.push(snap.data()));
  res.status(200).json({results});
});


无论任何组合,我都没有结果。如果我将“ ==”更改为“ ”,我将获得结果。
恐怕问题与时间有关,我想忽略它,我只关心年,月和日。
下图说明了我的消防站集合,其中只有1个项目。
javascript - 在DATE之前查询Firestore Cloud Function-LMLPHP

我正在研究,但我还不走运。

最佳答案

使用AND查询为查询提供所需的范围。由于您不在乎精确匹配时间,因此请在整天范围内提供时间。

var start = new Date();
start.setHours(0,0,0,0);

var end = new Date(start.getTime());
end.setHours(23,59,59,999);

const snaps = await db.collection('notifications').where("specificDate", ">=", start ).where("specificDate", "<=", end).get()

09-17 21:28