如何使用时间戳使用来自 firestore 的查询

How to use query from firestore using timestamp

我正在使用日期范围选择器,我将让我的用户设置他们将从 firestore 查询的数据的日期范围。我已经可以获取日期范围选择器的值并将其存储在变量中。我的问题是我不知道如何查询 firestore 引用时间戳。

这是我从 firestore 集合中查询文档的函数。到目前为止,我只能收集所有数据,但无法收集过滤后的数据(按时间戳)。

export async function Getfs(){
console.log("Get firestore run >>");
var f = document.getElementById("firstDate").value; // starting date
var s = document.getElementById("secondDate").value; // ending date
const fs_snap = await getDocs(query(collection(fs, "sens02"),orderBy('ts')));
}

This is what my firestore document looks like

这就是我使用 html 输入日期设计日期范围选择器的方式 date range picker

您需要使用Timestampclass的方法。

更准确地说,在您的情况下,您需要使用 fromDate(),如下例所示:

const q = query(
  collection(fs, "sens02"),
  where('ts', '>=', Timestamp.fromDate(new Date('2022-05-28'))) // For example we use the 28/05/2002
);

const querySnapshot = await getDocs(q);

querySnapshot.forEach((doc) => {
  console.log(doc.data().ts.toDate());
});