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

时间:2014-12-11 18:16:16

标签: javascript rethinkdb

我已将MySQL中的表导入RethinkDB,并且运行良好。现在我想弄清楚如何将我以前的MySQL时间戳字段更新为RethinkDB中的Time对象,但没有成功。

使用查询资源管理器:

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

- 结果 -

JavaScript error:

RangeError: Invalid time value

1 个答案:

答案 0 :(得分:2)

假设您的日期目前存储为字符串?你不要说......

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

[
  {"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"}
]

希望有所帮助。