そのドキュメントの属性に基づいてドキュメントを取得することは可能ですか?
users
メールがすでに存在するかどうかにかかわらず、サインアップ時に自分のテストを行えるようにしたいですか?しかし、私には、ドキュメントを取得できるのは_id
...
CouchDBを使用するクラウドサービスとしてCloudantを使用しています。
電子メールアドレスをドキュメントのIDとして使用できるため、同じ電子メールを持つ他のドキュメントを追加することはできません。また、CouchDBの重要な機能であるビューを使用して、挿入前に電子メールが存在するかどうかを確認することもできます。どちらの方法でも、後で競合を解決する必要があります。最初のケースの場合、まだ複製されていない競合するドキュメントを持つ別のCouchノードが存在する可能性があります。2番目のケースでは、2人のユーザーが同じサーバーにアカウントを追加できますが、両方が最初に既存の電子メールをチェックし、次に両方が自分のアカウントを追加します。
ビューを追加するには、計算ビューの定義があるデザインドキュメントを追加する必要があります。map
次のような関数を使用してインデックスを作成できます。
function (doc) {
if (!doc.email) return;
emit(doc.email, doc);
}
次のコマンドでビューをクエリできます。
http://localhost:5984/YOUR_DTABASE/_design/YOUR_DESIGN_DOCUMENT/_view/YOUR_VIEW?key='e-mail@addre.ss'
電子メールの比較は、期待できるほど簡単ではないことに注意してください。