RethinkDB - 将导入的 MySQL 时间戳字符串转换为时间对象

RethinkDB - Convert Imported MySQL Timestamp String to Time Object

本文关键字:转换 字符串 时间 对象 时间戳 MySQL 导入 RethinkDB      更新时间:2023-09-26

我已经将一个表从MySQL导入到RethinkDB中,它运行良好。现在我试图弄清楚如何将我以前的MySQL时间戳字段更新为RethinkDB中的时间对象,但没有成功。

使用查询资源管理器:

r.table('users').withFields('last_login_at').update({ last_login_at: new Date(r.row('last_login_at')) });

--结果--

JavaScript error:
RangeError: Invalid time value

假设您的日期当前存储为字符串?是吗。。。

下面是一些示例数据...

[
  {"date":"2014-12-11T20:00:41.000Z","id":"cd6e152a-9df7-49bc-a887-b43ef5cb559d","name":"dude2"},
  {"date":"2014-12-11T21:00:41.000Z","id":"5f5f2cef-9853-4400-ad6e-4fa26ff5469b","name":"dude1"},
  {"date":"2014-12-11T19:00:41.000Z","id":"651cef31-4560-4bca-b458-ce43aa8c0c90","name":"dude3"}
]

使用此查询...

r.db('mydb').table('test').update({ date: r.ISO8601(r.row('date')) });

数据变成...

[
  {"date":{"$reql_type$":"TIME","epoch_time":1418328041,"timezone":"+00:00"},"id":"cd6e152a-9df7-49bc-a887-b43ef5cb559d","name":"dude2"},
  {"date":{"$reql_type$":"TIME","epoch_time":1418331641,"timezone":"+00:00"},"id":"5f5f2cef-9853-4400-ad6e-4fa26ff5469b","name":"dude1"},
  {"date":{"$reql_type$":"TIME","epoch_time":1418324441,"timezone":"+00:00"},"id":"651cef31-4560-4bca-b458-ce43aa8c0c90","name":"dude3"}
]

希望有帮助。