我正在使用“rethinkdb import”导入一个 CSV 文件,其中一个字段是有效的 JSON 对象。但是,似乎 RethinkDB 将此字段编码为字符串,因为我无法使用嵌套过滤器来查询数据集。
如何在导入时指定每个字段的数据类型或在导入完成后修改假定的数据类型?
我正在使用“rethinkdb import”导入一个 CSV 文件,其中一个字段是有效的 JSON 对象。但是,似乎 RethinkDB 将此字段编码为字符串,因为我无法使用嵌套过滤器来查询数据集。
如何在导入时指定每个字段的数据类型或在导入完成后修改假定的数据类型?
从文档中:
JSON 文件优于 CSV 文件,因为 JSON 可以完全代表 RethinkDB 文档。如果您从 CSV 文件导入,您应该在标题行中包含字段名称,或者使用 --no-header 选项和 --custom-header 选项来指定名称。
rethinkdb import -f users.csv --format csv --table test.users --no-header \
--custom-header id,username,email,password
CSV 导入中的值将始终作为字符串导入。如果要在导入后将这些字段转换为数字数据类型,请运行执行转换的更新查询。可在数据资源管理器中运行的示例:
r.table('tablename').update(function(doc) {
return doc.merge({
field1: doc('field1').coerceTo('number'),
field2: doc('field2').coerceTo('number')
})
});