【发布时间】:2019-02-04 14:03:00
【问题描述】:
如何按特定日期和时间范围查询我的文档? IE。我想按特定日期范围(01-01-2019 - 31-01-2019)查询文档,并且从这些日期仅查询在上午 10 点到下午 12 点制作的文档。
它会是这样的:
let ref = db.collection('events')
// Query by date range
ref = ref
.where('created', '>=', new Date(2019, 1, 1, 10, 0, 0, 0))
.where('created', '<=', new Date(2019, 1, 1, 12, 0, 0, 0))
// Query by time range in each date
ref = ref
.where('created', '>=', *START TIME = 10pm*)
.where('created', '<=', *END TIME = 12pm*)
所以问题是我如何过滤每天查询的小时和分钟?希望你明白我在这里问什么!如果需要,我会更新问题。
更新 数据库结构如下
/events/{单个事件文档}:
{
cafeId: String,
created: Firestore timestamp // ex. February 2, 2019 at 10:16:00 AM UTC+2
discount: Number,
eventId: Number,
productCount: Number,
keywords: Array,
products: Map,
payment: Map,
returned: Number,
total: Number
}
当我在创建的客户端中得到这个时,将转换为:
{ _seconds: Number, _nanoseconds: 0 }
【问题讨论】:
-
请添加您的数据库结构以查看您的
created属性的外观。 -
您是否将
created存储为时间戳? -
@AlexMamo 我用文档的结构更新了问题。
-
@RenaudTarnec 是的,我愿意
-
当您说“按每个日期的时间范围查询”时,您的意思是要在例如今天上午 10 点和今天下午 3 点之间进行查询?或者您想要任何日期上午 10 点到下午 3 点之间的所有文件。
标签: javascript firebase google-cloud-firestore