Rethinkdb替换为getAll

时间:2016-01-26 03:45:38

标签: rethinkdb rethinkdb-javascript

我有一个用户表,每行看起来像这样:

{
  id: <user's id>,
  email: <user's email>
}

id是主键,email有二级索引。

我想仅在不存在使用相同电子邮件的其他用途时才添加用户。通常我会使用两个查询:getAll(<user's email>, {index: 'email'})以确保不接收电子邮件,然后是insert({email: <user's email>},但这是两个单独的查询(即不是原子操作)。

有没有办法使用getAll以原子方式进行检查和设置?

注意:我知道可以使用get显示getAll,但这不适用于background-image

1 个答案:

答案 0 :(得分:1)

不幸的是,你无法对二级索引进行原子操作。最好的办法可能是添加另一个emails表,其中主键是电子邮件地址。