0

ユーザーのテーブルがあり、各行は次のようになります。

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

idは主キーで、 のセカンダリ インデックスはどこにありますかemail

同じメールアドレスが他にない場合にのみユーザーを追加したい。通常、これには 2 つのクエリを使用します:getAll(<user's email>, {index: 'email'})電子メールが取得されていないことを確認するため、続いてinsert({email: <user's email>}これらは 2 つの別個のクエリです (つまり、アトミック操作ではありません)。

を使用してアトミックにチェックして設定する方法はありgetAllますか?

注:ここgetに示すようにそれを行うことが可能であることは知っていますが、それは機能しませんgetAll

4

1 に答える 1

1

残念ながら、セカンダリ インデックスに対してアトミック操作を行うことはできません。最善の方法emailsは、主キーが電子メール アドレスである別のテーブルを追加することです。

于 2016-01-26T04:03:35.720 に答える