检查重复项时Rethinkdb批量导入

时间:2014-12-05 14:27:03

标签: javascript rethinkdb

我正在尝试考虑将csv数据导入rethinkdb的最佳方法,同时避免可能的重复(例如,将同一文件导入两次)。

csv数据来自银行对账单。没有真正的主键,而是可以使用日期,描述和数量的复合键。

我想使用CLI进行导入,但由于没有一个主键,我无法看到我能做到这一点。

是迭代csv的最佳方法,首先检查是否存在然后插入,如果没有找到?我努力创建一个只有在存在检查为空时才会插入的查询。

任何指导 - 我认为这是一种有点常见的情况?

(我使用JavaScript作为我的语言)

提前致谢!

1 个答案:

答案 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)