gpt4 book ai didi

javascript - Firestore - 通过时间戳查询不返回结果

转载 作者:行者123 更新时间:2023-11-28 17:02:20 24 4
gpt4 key购买 nike

我想在查询中使用时间戳作为条件,并最终在我的云函数中得到以下内容:

var dateRange = addMinutes(new Date(), 195); // 120 = timezone diff
dateRange = getTime(dateRange);

console.log(dateRange); // --> 1562933996501

const test = await fs.collection('tournaments').doc('B37tIBzDQDFXndv24KHs').get()

console.log(test.data().start); --> Timestamp { _seconds: 1562923800, _nanoseconds: 0 },

const queryRef = fs.collection('tournaments').where('status', '==', '0').where('start', '<=', dateRange);

但由于某种原因,querySnapshot 的大小为 0,而 console.logs 表示变量 dateRange = 1562933996501 和我查询的 test 时间戳是 1562923800,那么它应该在该区域还是不在该区域?

我使用 Firestore 中的时间戳字段作为我的时间戳。是的,文档的状态是 0。

编辑尝试一下:

console.log(test.data().status == 0) // = true
console.log(test.data().start.seconds < dateRange); // = true

最佳答案

您似乎正在尝试使用整数查询时间戳类型字段。那是行不通的。只能查询时间戳类型字段 Timestamp输入对象(正如您的输出所示,您是从第一个查询中获得的)。或者,在 JavaScript 中,您可以传递 Date 对象,该对象将自动转换为时间戳。

关于javascript - Firestore - 通过时间戳查询不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57003950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com