我已将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
答案 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"}
]
希望有所帮助。