我正在尝试考虑将csv数据导入rethinkdb的最佳方法,同时避免可能的重复(例如,将同一文件导入两次)。
csv数据来自银行对账单。没有真正的主键,而是可以使用日期,描述和数量的复合键。
我想使用CLI进行导入,但由于没有一个主键,我无法看到我能做到这一点。
是迭代csv的最佳方法,首先检查是否存在然后插入,如果没有找到?我努力创建一个只有在存在检查为空时才会插入的查询。
任何指导 - 我认为这是一种有点常见的情况?
(我使用JavaScript作为我的语言)
提前致谢!
答案 0 :(得分:2)
您可以将insert语句上的冲突选项设置为“update”或“replace”。这将检查具有相同spec特征id的文档是否已存在并更新或替换它。 http://www.rethinkdb.com/api/javascript/insert/
r.table("users").insert(
{id: "william", email: "william@rethinkdb.com"},
{conflict: "replace"}
).run(conn, callback)