我正在尝试将数据从mongo移动到rethinkand。到目前为止没有任何作用。 我尝试的第一件事是:
mongoexport -h 127.0.0.1 -d basal -c tickets -o tickets.json
将其导出为json然后......
rethinkdb import -f tickets.json --table basal.tickets --format json
将其导入为json。看起来很简单。虽然不起作用......
我收到此错误:
0 rows imported in 1 table
ReQL error during 'import': String `ÿØÿá` (truncated) contains NULL byte at offset 8.
ReQL error during 'import': String `PNG
` (truncated) contains NULL byte at offset 9.
ReQL error during 'import': String `ÿØÿá` (truncated) contains NULL byte at offset 8.
ReQL error during 'import': String `PNG
` (truncated) contains NULL byte at offset 9.
Errors occurred during import
有问题的数据是带有二进制图像附件的字段。
附件字段如下所示(截断):
{"attach":[{"name":"image001.png","size":20745,"disp":"in
line","cid":"image001.png@01D0411E.BD3054F0","type":"image/png","body":"<U+0089>PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0001>\u0000\u
0000\u0001\u0000\b\u0002\u0000\u0000\u0000¥*<U+008D>º\u0000\u0000\u0000\u0001sRGB ......"} ...]}
关于如何使用二进制值导入字段的任何想法?
答案 0 :(得分:1)
RethinkDB当前不支持字符串中的NULL字节。我们提供r.binary
假型来解决这个问题。我要做的是编写一个脚本,逐行读取输入数据,解析它,用该行中的'body: '...\u0000...'
替换'body: r.binary('...\u0000...')
,然后插入该行。