Rethinkdb 查询在 2 个纪元之间获取数据
Rethinkdb query to fetch data between 2 epoch times
我正在尝试 运行 ReQL 查询以获取 2 个纪元之间的数据,我有一个名为 "lastUpdatedDttm" 的字段,我正在尝试使用它来 运行查询如下。 lastUpdatedDttm 字段类型是 "number" 并且只是 new date().getTime()
r.db('my_db').table('my_table').getAll('/mypath', {
index: 'path' }) .filter(r.row('updatedBy').eq('id').and(r.row('lastUpdatedDttm').during(1512864000000, 1513209600000)))
上面的查询returns错误,e: Not a TIME pseudotype:
我在查询中遗漏了什么吗?
我相信持续时间需要时间对象作为参数,所以你需要使用 epochTime
方法来转换你的时间,所以
r.db('my_db').table('my_table').getAll('/mypath', { index: 'path' })
.filter(
r.row('updatedBy').eq(id)
.and(
r.row('lastUpdatedDttm')
.during(
r.epochTime(1512864000000 / 1000),
r.epochTime(1513209600000 / 1000)
)
)
)
您还应确保 lastUpdatedDttm
存储为日期
如果您将 lastUpdatedDttm
存储为由 new Date().getTime()
生成的数字,您可以执行
r.db('my_db').table('my_table').getAll('/mypath', { index: 'path' })
.filter(record => {
return record('updatedBy').eq(id).and(
r.epochTime(record('lastUpdatedDttm').div(1000))
.during(
r.epochTime(1512864000000 / 1000),
r.epochTime(1513209600000 / 1000)
)
)
})
我正在尝试 运行 ReQL 查询以获取 2 个纪元之间的数据,我有一个名为 "lastUpdatedDttm" 的字段,我正在尝试使用它来 运行查询如下。 lastUpdatedDttm 字段类型是 "number" 并且只是 new date().getTime()
r.db('my_db').table('my_table').getAll('/mypath', {
index: 'path' }) .filter(r.row('updatedBy').eq('id').and(r.row('lastUpdatedDttm').during(1512864000000, 1513209600000)))
上面的查询returns错误,e: Not a TIME pseudotype:
我在查询中遗漏了什么吗?
我相信持续时间需要时间对象作为参数,所以你需要使用 epochTime
方法来转换你的时间,所以
r.db('my_db').table('my_table').getAll('/mypath', { index: 'path' })
.filter(
r.row('updatedBy').eq(id)
.and(
r.row('lastUpdatedDttm')
.during(
r.epochTime(1512864000000 / 1000),
r.epochTime(1513209600000 / 1000)
)
)
)
您还应确保 lastUpdatedDttm
存储为日期
如果您将 lastUpdatedDttm
存储为由 new Date().getTime()
生成的数字,您可以执行
r.db('my_db').table('my_table').getAll('/mypath', { index: 'path' })
.filter(record => {
return record('updatedBy').eq(id).and(
r.epochTime(record('lastUpdatedDttm').div(1000))
.during(
r.epochTime(1512864000000 / 1000),
r.epochTime(1513209600000 / 1000)
)
)
})