如何使用时间戳使用来自 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
您需要使用Timestamp
class的方法。
更准确地说,在您的情况下,您需要使用 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());
});
我正在使用日期范围选择器,我将让我的用户设置他们将从 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
您需要使用Timestamp
class的方法。
更准确地说,在您的情况下,您需要使用 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());
});